2012-07-28 17 views
6

Desarrollé una aplicación que se suponía que tenía como objetivo tanto el Galaxy Nexus como el Galaxy S3. Ambos tienen resoluciones de pantalla de 720 x 1280 y solo he usado valores 'dp' en mi aplicación. Los recursos existen en las carpetas 'layout-xhdpi' y 'drawable-xhdpi'. El diseño se ve perfectamente bien en el Nexus, pero los valores de relleno (en dp) están ligeramente apagados en el S3. Supongo que es debido al tamaño de pantalla más grande en S3 y la diferencia de densidad.Disposición de Android S3 frente a la disposición de Galaxy Nexus

¿Cómo puedo crear una carpeta separada para Nexus y S3 para poder tener en cuenta los diferentes tamaños de pantalla?

Respuesta

0

Puede obtener el modelo del dispositivo y establecer el diseño.

Como siguiente se puede obtener el modelo

String phoneModel = android.os.Build.MODEL; 
if(phoneModel.equals("ABC")) { 
    // SET Ralated Layout 
} else if(phoneModel.equals("XYZ")) { 
    // SET Ralated Layout 
} 
+2

seguramente hay una mejor manera de hacerlo. Necesito cambiar el xml no el código de Java. – karlstackoverflow

+0

O.K. ¿Pero puede decirme el motivo del voto negativo? –

9

utilizar este esquema:

Para un mismo paisaje diseño y el retrato diseño-sw360dp

Sólo para el paisaje diseño-sw360dp tierra

Solo para retrato layout-sw360dp-port

Intento decir que puede utilizar las carpetas de creación de antes de la clasificación con estos nombres. El diseño ubicado en se cargan en el Galaxy S3 - WXGA720. Esta es una forma de distinguir el diseño de este tipo de dispositivo. Es necesario Android 4.0+.

+0

tengo esa carpeta que todavía no se usa – Mikey

5

Uso sw360dp-long que el sistema utilizará para el GS3 y uso sw360dp para el Galaxy Nexus.

+0

esto no funciona en mi caso ... Tuve que usar sw384dp – whyoz

+1

funcionando perfectamente. Para galaxy s3 use 'sw360dp-long' y para todos los demás dispositivos de categoría similar use' sw360dp'. – astuter

2

Nexus 4: Uso sw384dp (768x1280)

Samsung S3: el uso sw360dp (720x1280)

Cabe señalar que tanto se cae en el cubo sw360dp, pero algunos desarrolladores podrían necesitar para hacer las cosas de píxeles perfecto, por lo que la carpeta 384 podría ser necesaria, pero debe evitarse si puede diseñar un diseño más flexible utilizando LinearLayout y "peso" en lugar de las unidades dp de hardcoding.

Cuestiones relacionadas