2012-10-08 56 views
12

¿Podemos tener un xml diferente para el paisaje y otro xml para la orientación vertical?Diseño diferente para orientación horizontal y vertical android

Estoy trabajando en una aplicación simple, tengo pocos botones y textviews, el xml se ve bien en el retrato, pero con el mismo xml cuando reviso la orientación horizontal, el diseño no se ve bien.

Cualquier sugerencia es apreciada .. Gracias.

Respuesta

34

Sí, por supuesto.

Deberá crear dos versiones de archivos xml y colocarlas en la carpeta layout-port y layout-land dentro de la carpeta res.

por ejemplo:

res/layout [Portrait Mode; default] 
main.xml 
res/layout-land [Landscape Mode] 
main.xml 

Puede consultar más aún en el mismo en http://developer.android.com/training/basics/supporting-devices/screens.html

+0

Lo siento por última contestación! ¡Muchas gracias! funciona muy bien! :) – Aadi

5

Si desea realizar otra distribución para el paisaje luego ponerlo en la carpeta

res -> layout-land.

Ambos nombres de xml deben ser iguales para el retrato y el paisaje.

+0

Lo siento por la respuesta tardía! Muchas gracias ! :) – Aadi

1
public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_screen_orientation_app); 
    if(getResources().getDisplayMetrics().widthPixels>getResources().getDisplayMetrics(). 
      heightPixels) 
     { 
      Toast.makeText(this,"Screen switched to Landscape mode",Toast.LENGTH_SHORT).show(); 
     } 
     else 
     { 
      Toast.makeText(this,"Screen switched to Portrait mode",Toast.LENGTH_SHORT).show(); 
     } 
    } 
+1

intente agregar alguna explicación en lugar de solo agregar un fragmento de código como respuesta – user2720864

+0

¿Este código no debería estar en onStart()? No creo que se llame a onCreate() al encender el dispositivo. –

+0

Al Lelopath, cuando se gira un dispositivo, la actividad se elimina por completo. Se llama a OnDestroy, luego se reinicia la actividad. Entonces sí, onCreate se llama nuevamente – jb15613

Cuestiones relacionadas