2012-10-10 51 views
5

He creado una aplicación para Android que funciona adecuadamente para la carpeta Nexus 7. recursos dentro, he creado dos carpetas, layout, layout-land para Nexus 7" ficha. Todo estaba funcionando bien hasta la fecha. Ahora quiero crear un diseño diferente para Samsung Galaxy S3. Para eso, he creado una carpeta dentro de los recursos con layout-large & layout-large-land. Pero, aquí está el problema. Ahora, para Nexus 7 también, el diseño definido en la carpeta layout-large se está cargando. ¿Cómo parar eso? ¿Puedo crear un diseño diferente para la pestaña del Nexus 7 "& Galaxy S3 mobile? He leído Supporting Multiple Screens documentación. Pero yo no podía entender como el tamaño de la pantalla para Nexus 7 es 1204 X 800 & tamaño de pantalla para Samsung Galaxy S3 es 720 X 1280.¿Cómo crear diseños diferentes para Galaxy S3 y Nexus 7?

Cómo crear diferentes diseños para diferentes dispositivos con diferentes resoluciones de pantalla & tamaños de pantalla? Además, según el tamaño del dispositivo, quiero cambiar algunos valores en mi aplicación. ¿Cómo hacer eso?

+1

Sí, esta es la principal desventaja de Android. Demasiados proveedores haciendo sus propios tamaños. Es posible que desee echar un vistazo a mis preguntas anteriores similares sobre pantallas múltiples en http://stackoverflow.com/questions/11584107/how-to-deal-with-android-xlarge-screen o http://stackoverflow.com/ preguntas/11008199/what-layout-is-suitable-for-720x1280-android-devices o http://stackoverflow.com/questions/10992764/how-android-manages-screen – rxlky

Respuesta

10

De acuerdo con la Supporting Multiple Screensenter image description here

Calificadores como small, normal, large y xlarge es para Screen Sizes, lo que significa que Nexus 7 utilizará los recursos con el calificador large, si lo proporciona. Por lo tanto, antes de crear la carpeta con el calificador large, Nexus 7 cargará los recursos de la carpeta de diseño predeterminada. En cuanto a ldpi, mdpi, hdpi y xhdpi es para la densidad de la pantalla.

Para resolver el problema, es necesario:

  1. poner las definiciones de diseño para Galaxy S3 en el diseño, y el diseño-sw600dp para Nexus 7. Por favor refiérase a los desarrolladores de Android Blog: Getting Your App Ready for Jelly Bean and Nexus 7

  2. pon los recursos (imágenes o elementos dibujables) para Galaxy S3 en drawable-xhdpi, y drawable-tvdpi o drawable-hdpi para Nexus 7.

espero que podría ayudarle, y por favor, hágamelo saber si usted tiene cualquier otro problema :)

Aquí tiene algunas referencias útiles:

What layout is suitable for 720x1280 Android devices?

Screen Width Qualifier

+0

Incluso después de poner mis definiciones de diseño para s3 en' layout', 'layout-large' se está cargando – Bharath

+0

Entonces intente poner definiciones para s3 en' layout' , y ponerlos para Nexus en 'layout-sw600dp' de acuerdo con [Android Developers Blog] (http://android-developers.blogspot.co.uk/2012/07/getting-your-app-ready-for-jelly- bean.html). Mientras tanto, también actualicé mi respuesta para incluir este comentario. – dumbfingers

+0

No. eso está bien. Está funcionando bien ahora cuando he implementado su comentario anterior. Es por eso que he eliminado ese comentario. Mi error fue que la configuración del emulador para s3 no era correcta. es por eso. De todos modos, gracias por tu esfuerzo. +25 – Bharath

0

Usted necesita uno para que lo normal y que lo normal en tierra aswell

O puede hacerlo mediante programación llamando al:

Display displayparm= activity.getWindowManager().getDefaultDisplay(); 
int width= displayparm.getWidth(); 
int Height= displayparm.getHeight(); 

y elegir el diseño de esta información

+0

@Andres ... No lo haré llegar aquí. para lo cual uno debería usar 'xlarge'. He creado dicho diseño. Incluso entonces 'layout-large' se está cargando para S3 y Nexus 7 – Bharath

0

puede crear el diseño agregando una nueva carpeta debajo de la carpeta res como diseño-XLarge y diseño-XLarge a gran y U tiene que actualizar el archivo de manifiesto de Android también para apoyar la de mayor resolución

0

he desarrollado una aplicación en apoyo a varios dispositivos con diferentes resoluciones y densidades . con nexus 7 y galaxy s3 también uno entre ellos. galaxy s3 y nexus7 obviamente tomarán de la carpeta de la pantalla grande si tienes una carpeta de diseño grande en tu proyecto. Pero galaxy s3 cae en la categoría hdpi grande y nexus7 cae en la categoría large-tvdpi. por lo que será de gran utilidad si tiene layout-large-hdpi y layout-large-tvdpi para s3 y nexus7, respectivamente.

Cuestiones relacionadas