Diferentes tamaños en 2 dispositivos, incluso si utilizo "dp"
Tengo 2 tabletas:
1 Samsung Android 3.0
- TextView en la Galería
- Separe el texto largo en las páginas de viewpager
- El texto de Android se recorta en algunos dispositivos
- En Android cómo obtener el ancho de la vista de texto que se establece en Wrap_Content
- Desplazamiento horizontal automático en TextView
DisplayMetrics {density=1.0, width=600, height=976, scaledDensity=1.0, xdpi=161.55031, ydpi=155.51021}
1 dispositivo de bajo costo, Android 2.3.3
DisplayMetrics {density=1.0, width=480, height=800, scaledDensity=1.0, xdpi=160, ydpi=160.42105}
Si utilizo un diseño diferente para cada tamaño de pantalla, ambos dispositivos dicen que son grandes y largos y mdpi, por lo que no puedo distinguirlos mediante el uso de nombres de carpeta de diseño … El problema es:
Utilizo un TextView con textSize = "20dp"
En el primer dispositivo, el ancho del texto es la mitad de la pantalla, en el segundo dispositivo es más grande (80% del ancho de la pantalla). ¿Por qué? Espero que ambos dispositivos muestren texto de la misma manera si uso dp (y no px). He intentado también con sp pero nada cambia …
(He utilizado TextView como ejemplo, tengo el mismo problema con todos los elementos en el diseño: tamaños de los botones, …)
Intentaría usar nombres de carpeta de diseño como "layout-w600dp" o algo más introducido en Android 3.2, pero este no es el caso.
Sé que puedo cambiar las dimensiones del elemento por código en onLayout () pero no quiero hacer eso …
¿Cualquier sugerencia?
Actualizar
He resuelto mis problemas con diseños usando temas: Activar una dimens.xml específica en tiempo de ejecución
- Cómo cambiar el icono de un botón mediante programación?
- Margen en TextView personalizado
- Cómo agregar una ruptura de línea en un Android TextView?
- Android: cómo crear un botón con imagen y texto que están centrados
- Etiqueta dentro de Polyline Google Maps V3
- Cómo establecer la sombra alrededor de TextView
- Tamaño de texto con diferentes resoluciones
- Anti-alias en Android correctamente?
La documentación de Android de Dimention dice esto
La relación de dp a pixel cambiará con la densidad de pantalla, pero no necesariamente en proporción directa
Así que está totalmente bien lo que ves
Puede alcanzar el 50% de la pantalla usando el peso de LinearLayout.