risposta-alla-domanda-sullo-sviluppo-web-bd.com

Android: layout alternativo xml per la modalità orizzontale

Come posso avere un layout per il paesaggio e uno per il ritratto? Voglio assumere una larghezza extra e conservare lo spazio verticale quando l'utente ruota il telefono lateralmente.

117
Bryan Field

Per impostazione predefinita, i layout in /res/layout vengono applicati sia in verticale che in orizzontale.

Se hai per esempio

/res/layout/main.xml

puoi aggiungere una nuova cartella /res/layout-land, copia main.xml e apportare le modifiche necessarie.

orientation

Vedi anche http://www.androidpeople.com/Android-portrait-amp-landscape-differeent-layouts e http://www.devx.com/wireless/Article/40792/1954 per alcune altre opzioni.

210
marapet

Nella versione corrente di Android Studio (v1.0.2) puoi semplicemente aggiungere un layout orizzontale facendo clic sul pulsante nell'editor visivo mostrato nello screenshot seguente. Seleziona "Crea variazione orizzontale"

Android Studio add landscape layout

69
Reefwing

I layout in/res/layout vengono applicati sia in verticale che in orizzontale, se non diversamente specificato. Supponiamo di avere /res/layout/home.xml per la nostra home page e vogliamo che appaia diversamente nei 2 tipi di layout.

  1. crea cartella/res/layout-land (qui manterrai i tuoi layout regolati in orizzontale)
  2. copia home.xml lì
  3. apportare le necessarie modifiche

Source

43
Dalmas

È possibile raggruppare il layout specifico nella struttura di cartelle corretta come segue.

Layout-land-target_version

vale a dire

layout-land-19 // target KitKat

allo stesso modo puoi creare i tuoi layout.

Spero che questo ti possa aiutare

2
Umanda

Il modo più veloce per Android Studio 3.x.x

1. Vai alla scheda di progettazione del layout dell'attività

2.In alto dovresti premere il pulsante orientamento per l'anteprima , c'è un'opzione per creare un layout orizzontale (vedi immagine), una nuova cartella verrà creato come file di layout XML per quel particolare orientamento

enter image description here

1
Shid