studio - no label views point to this text field with an android labelfor @+id edittext attribute
¿Cómo hago para que el navegador WVGA de Android deje de escalar mis imágenes? (2)
Estoy diseñando una página HTML para mostrar en los navegadores Android. Considere esta página de ejemplo simple:
<html>
<head><title>Simple!</title>
</head>
<body>
<p><img src="http://sstatic.net/so/img/logo.png"></p>
</body>
</html>
Se ve muy bien en los teléfonos HVGA estándar (320x480), pero en los tamaños HDPI WVGA (480x800 o 480x854), el navegador incorporado escala automáticamente la imagen; se ve feo
He leído que debería poder usar esta etiqueta para forzar al navegador a dejar de escalar mi página:
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; minimum-scale=1.0; user-scalable=0;" />
... pero todo lo que hace es desactivar la escala del usuario (los botones del zoom desaparecen); en realidad, no impide que el navegador escale mi imagen. Ajustar los factores de escala (configurarlos a 2.0 o 0.5) no tiene ningún efecto.
¿Cómo puedo forzar al navegador WVGA a dejar de escalar mis imágenes?
Ah, lo encontré buscando en el código fuente de Android. Hay una nueva configuración específica de Android " target-densityDpi " disponible en la metaetiqueta "viewport"; por lo que puedo decir, está totalmente indocumentado, ¡excepto por el comentario de check-in!
Agregue el soporte de dpi para WebView.
En la metaetiqueta "viewport", puede especificar "target-densityDpi". Si no se especifica, usa el predeterminado, 160 ppp a partir de hoy. Entonces, el factor de escala 1.0 especificado en la etiqueta de la vista significa 100% en G1 y 150% en Sholes. Si establece "target-densityDpi" en "device-dpi", entonces el factor de escala 1.0 significa 100% tanto en G1 como en Sholes.
Implementado Safari''s window.devicePixelRatio y css media query device-pixel-ratio.
Por lo tanto, si usa "dispositivo-dpi" y modifica el código CSS para el tamaño de fuente y la imagen de src, dependiendo de window.devicePixelRatio, puede obtener una mejor página en Sholes / Passion.
Aquí hay una lista de opciones para "target-densityDpi".
device-dpi: usa los dpi nativos del dispositivo como dpi de destino. low-dpi: 120dpi medium-dpi: 160dpi, que también es el valor predeterminado a partir de alta resolución de dpi en la actualidad: 240dpi: tomamos cualquier número entre 70 y 400 como un dpi de destino válido.
Ahora es parte de la documentación API para WebView: developer.android.com/reference/android/webkit/WebView.html
Consulte la sección titulada Construir páginas web para admitir diferentes densidades de pantalla