Usar el ancho de la ventana de vista de meta en la vista Web de Android
Me gustaría usar la etiqueta de viewport para ajustar el contenido html en un WebView.
<meta name='viewport' content='width=640'/>
Esto parece funcionar bien en el navegador Chrome, pero no escala para encajar en el WebView. Hice una actividad de prueba simplificada:
- cómo detectar con javascript si el navegador es un androide webview?
- Android WebView no cargar contenido mixto
- Cargar archivo .html existente con Android WebView
- La vista web de Android no ejecuta javascript desde el script src
- Iniciar animación en carga de página, detener en página cargada
public class MyActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //-------------------------------------------------- // Create a simple html page including viewport tag. //-------------------------------------------------- String html = "<!DOCTYPE html>" + "<html>" + "<head>" + "<meta name='viewport' content='width=640'/>" + "<title>Viewport Test</title>" + "</head>" + "<body style=\"margin: 0px;\">" + "<div style=\"width: 600px; height: 600px; border: 20px solid green; background-color: red;\"></div>" + "</body>" + "</html>"; //----------------------------------- // Place html in WebView. //----------------------------------- WebView webView = new WebView(this); webView.loadData(html, "text/html", "utf-8"); setContentView(webView); //----------------------------------- // Launch Chrome with the same html. //----------------------------------- Intent intent = new Intent(Intent.ACTION_VIEW); intent.setComponent(ComponentName.unflattenFromString("com.android.chrome/com.android.chrome.Main")); intent.setData(Uri.parse("data:text/html;charset=utf-8;base64," + Base64.encodeToString(html.getBytes(), Base64.NO_WRAP))); startActivity(intent); } }
¿Puede alguien explicar por qué, o sugerir una solución?
- Solución para la carga de archivos en Android 4.4 mediante la reflexión
- Android WebView no carga una URL HTTPS
- Cómo utilizar el token de acceso de Facebook en la vista de la aplicación de Android
- Capturar la página redirecciona vía javascript en WebView de Android
- Documentación del puente JavaScript de WebView
- Trigger o Force Redraw o Re-Render de WebView
- ¿Cómo puede un WebView heredar colores del tema actual de Android?
- WYSIWYG en la vista web de Android
OK, tienes que usar:
WebSettings settings = webView.getSettings(); settings.setLoadWithOverviewMode(true); settings.setUseWideViewPort(true);
Pero también, se rompe si establece user-scalable = 0 como este:
<meta name='viewport' content='width=640, user-scalable=0'/>
- ¿Cómo implementar la autenticación codificada de inicio de sesión de Android?
- ¿Usando SimpleCursorAdapter con Spinner?