Los identificadores notlong / long del recurso del androide no trabajan
Actualmente tengo las siguientes carpetas de recursos:
1. diseño-sw600dp
2. diseño-sw600dp-notlong
La idea es que tenemos 3 tipos de dispositivos y los dispositivos deben utilizar los recursos de la carpeta correcta en consecuencia. Los dispositivos son:
1. Samsung Galaxy Tab 10.1, 1280 X 800 mdpi. 16/10
2. Transformador Asus TFT 101, 1280 X 800 mdpi. 16/10.
3. Una tableta genérica, 800 X 600 ldpi. 4/3.
- Cómo hacer una pantalla de bien codificada de bienvenida
- Ir a la pantalla de inicio programáticamente
- Problemas para entender el ciclo de vida cuando la pantalla se apaga y se enciende
- La actividad de Android no llenará la pantalla WVGA
- Aplicación para Android: admite todos los tamaños de pantalla
El problema es que los 3 dispositivos utilizan recursos de layout-sw600dp-notlong. A mi entender 4/3 se clasifica como -notlong dispositivos.
¿Hay algo incorrecto en mi uso de identificador? ¿O hay un error reportado para el identificador?
Gracias de antemano.
- Pantalla de preferencia El diseño personalizado sólo funciona con el segundo clic
- ¿Previene el bloqueo de la pantalla en atenuación / espera mientras usa la aplicación android?
- ¿Qué diseño es adecuado para los dispositivos Android 720x1280?
- Cómo evitar reiniciar la actividad cuando cambia la orientación en Android
- Android: Pregunta sobre tamaño / resolución de aplicaciones independientes?
- Densidad y resolución de Android xhdpi
- Compartición de pantalla Android
- Bloqueo de orientación de la pantalla
El identificador 'notlong' es para dispositivos que son similares en relación de aspecto a dispositivos basales (consulte http://developer.android.com/guide/practices/screens_support.html ). Si bien los documentos son escasos en lo que los dispositivos de línea de base son, la resolución típica de los dispositivos Android 1.5 ~ 1.6. Así que lo que estás viendo es correcto.
Aunque existe un identificador "largo" para dispositivos que son más largos que las relaciones de línea de base, parece que no puede forzar recursos para dispositivos que son más cortos (por ejemplo, 800×600).
De acuerdo con el código fuente. (Framework / base / core / java / android / content / res / Configuration.java)
// Is this a long screen? if (((longSizeDp*3)/5) >= (shortSizeDp-1)) { // Anything wider than WVGA (5:3) is considering to be long. screenLayoutLong = true; } else { screenLayoutLong = false; }
Así que si la relación de aspecto es más ancha que 3: 5 (o 1.667), se tratará como pantalla larga.
¿Has leído este documento? http://developer.android.com/guide/practices/screens_support.html#DeclaringTabletLayouts
- Creación de una instancia sencilla de ExoPlayer
- ¿Cómo obtener el ID de proveedor de un dispositivo Android mediante adb?