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 desarrollar una aplicación android para diferentes pantallas?
- Cómo tomar una instantánea de la aplicación de pantalla no sólo en Android con código
- Android: captura la pantalla del teléfono como una película
- Obtener ancho de pantalla Android en inmersiones
- Pantalla de grabación a video libgdx android
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
- ¿Diferencia entre Wakelock y FLAG_KEEP_SCREEN_ON?
- Detectar una tableta de 7 pulgadas y 10 pulgadas mediante programación
- Cómo obtener la anchura de pantalla dpi en ANDROID?
- Obtener información de rotación automática en Android
- GetLocationOnScreen () vs getLocationInWindow ()
- ¿Es posible configurar el fondo de pantalla tal como se hace con la aplicación que viene con Android?
- Appwidget Máximo ancho que se adapta a todos los tamaños de 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?