¿Qué carpetas de diseño son necesarias para admitir todos los dispositivos Android?

Estoy desarrollando una aplicación de calculadora que tiene un diseño relativo para el modo retrato. Todos los Botones y TextViews se colocan en esta Disposición Relativa única y un mismo Diseño Relativo para el modo Tierra. He estado cavando la tela por casi 15 días pero no encontré nada relevante. Mi aplicación también tiene soporte para Tablets. MinSDKVer tiene 14 y Target es v21.

Actualmente estoy probando estas carpetas de Layouts

1: layout-sw400dp (destinado a la Nota 3 y Mate 7)

2: layout-sw600dp (destinado a tabletas de 7 ")

3: layout-sw720dp (destinado a tabletas de 8,9 "y 10")

4: diseño-pequeño-ldpi

5: layout-normal-ldpi

6: layout-normal-mdpi

7: layout-large-mdpi (destinado a teléfonos de 480 × 800 con pantalla> 5 "como Pantech Sky Vega Note)

8: layout-normal-hdpi

9: layout-large-hdpi (destinado a Galaxy Note 2, Galaxy Note y Galaxy Mega)

10: layout-normal-xhdpi

11: layout-normal-xxhdpi

12: layout-large-xxhdpi (destinado a Galaxy Note 4)

13: layout-normal-xxxhdpi (diseñado para Nexus 6 y para otro teléfono QFHD)

Todos estos diseños tienen modo de tierra.

Problema despertar cuando me puse (layout-sw400dp). Nexus 6, Nota 4, Nota 2, el teléfono Galaxy Mega y Large 480 × 800 empezó a utilizar este diseño en lugar de los diseños previstos.

Esto sucede porque swdp tiene una precedencia más alta que layout-normal-xxxx o layout-large-xxxx.

Nota 3 y Mate 7 son dispositivos de 400dpi por lo que he colocado layout-sw400dp. Antes de que todos los dispositivos estaban funcionando perfectamente, excepto, Nota 3 y Mate 7.

Y otro problema son los dispositivos con resolución de 540 × 960.

He intentado el diseño-320dp. Mediante el uso de estos dispositivos xhdpi y xxhdpi dispositivos comenzaron a utilizar este diseño.

También he intentado esta disposición para 540 × 960 pero éstos no trabajaron incluso después de hacer la carpeta seprate para el diseño-largo-puerto-800 × 480.

1: layout-h960dp-w540dp

2: layout-long-port-960 × 540

3: layout-normal-960 × 540

Tomé todas las pantallas de lectura de Android Virtual Device Manager mediante la creación de diferentes dispositivos con especificaciones reales.

He intentado poner manualmente el diseño para los dispositivos 540 × 960 en el archivo de java y tenido éxito pero no quiero hacer eso y no quiero utilizar la disposición lineal tampoco.

He estudiado a fondo "Soporte de pantalla Android diferentes y proporcionar recursos".

Por favor, diga el nombre de todas las carpetas necesarias para el diseño de apoyo a todos los dispositivos de Android o cualquier otra forma eficiente de hacer esto con java.

He subido todos los archivos de recursos en Mediafire que puede descargar Calculator Layout.zip

Cualquier sugerencia y solución será apreciada Gracias de antemano

Lo siento por el inglés porque no es mi lengua nativa.

En lugar de utilizar tantas carpetas de diseño, utilice las siguientes carpetas

Para smartphones y phablets

  • Layout-mdpi
  • Layout-hdpi
  • Layout-xhdpi
  • Layout-xxhdpi

Para tabletas de 7 "

  • Layout-sw600dp

Para tabletas de 10 "

  • Layout-sw720dp

Si se centra en crear tantas carpetas de diseño y eventualmente tantos archivos de diseño, se convertirá en un proceso engorroso para cada nueva especificación de dispositivos / pantallas añadida a la familia de Android.

En su lugar, se centran en la optimización de los diseños que está creando para caber en estos cubos. Tales como proporcionar valores en dp y evitar dar valores codificados para tamaño / margen / relleno, uso de archivo de recursos dimens de manera eficiente, etc

Espero que esto le ahorrará algunos esfuerzos redundantes.

En lugar de utilizar tantas carpetas de diseño sencillo, utilice las siguientes carpetas.

Para Smartphones

1.layout: Normal

2.layout-hdpi: utilice el Nexus one, Nexus S

3.layout-xhdpi: utilice el Nexus 4

4.layout-xxhdpi: utilice el Nexus 5

5.layout-xxxhdpi: utilice el Nexus 6

Para tabletas

1.layout-large: utilice el Nexus 7

2.layout-xlarge: utilice el Nexus 9

3.layout-xxlarge: utilice el Nexus 10

Estoy usando Sólo tres diseño de carpeta

– layout-sw600dp (Para tabletas).
– layout-sw360dp (Para teléfonos de tamaño medio).
– diseño (para todos los que tiene menor ancho inferior a 360).

Para el tamaño de pantalla diferente, A continuación se muestra una lista de carpetas de recursos en una aplicación que proporciona diferentes diseños de diseño para diferentes tamaños de pantalla para pantallas de densidad pequeña, media, alta y extra alta.

 res/layout/my_layout.xml // layout for normal screen size ("default") res/layout-small/my_layout.xml // layout for small screen size res/layout-large/my_layout.xml // layout for large screen size res/layout-xlarge/my_layout.xml // layout for extra large screen size res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation res/drawable-mdpi/my_icon.png // bitmap for medium density res/drawable-hdpi/my_icon.png // bitmap for high density res/drawable-xhdpi/my_icon.png // bitmap for extra high density 

El siguiente código en el manifiesto admite todos los dpis.

 <supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" android:anyDensity="true" /> 

Para más ver aquí

  • RelativeLayout con scrollview no desplazamiento
  • Android: layout_centerInParent no funciona
  • Cómo encontrar lo que está causando dependencias circulares en RelativeLayout
  • Android GLSurfaceView fondo transparente sin setZOrderonTop
  • ScrollView no está jugando bien con RelativeLayout
  • Ocultar diseño incluido en android
  • ¿Por qué el título no está centrado en la barra de herramientas?
  • Z-index en Disposición relativa
  • Programar el atributo AlignParentRight al botón en RelativeLayout no funciona?
  • ¿Cómo obtengo el siguiente resultado utilizando RelativeLayout?
  • Cómo establecer mediante programación el atributo layout_align_parent_right de un botón en Disposición relativa?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.