2013-09-08 11 views
6

Immagina di avere una cartella di layout denominata layout-port. Questo layout contiene i due layout che puoi vedere nella foto sotto (portatile). D'altra parte, ho una cartella layout che viene utilizzata quando l'orientamento dello schermo non è in modalità verticale, quindi è in orizzontale.Come posso impostare un layout orizzontale solo per i tablet?

enter image description here

Tuttavia, quando ho ruotare un dispositivo con uno schermo piccolo, sta andando ad utilizzare il layout verticale, ma come lo schermo è così piccolo, la sua non è ottimale e non sembra buono come i due la disposizione dei frammenti si concentra principalmente su tablet atleast 600dp.

Quindi la domanda è, Esiste un modo per utilizzare un qualificatore per impostare un layout Paesaggio con larghezza minore di 600?

Ho controllato i documenti http://developer.android.com/guide/practices/screens_support.html ma non sembra in grado di combinare la larghezza più piccola dell'orientamento &.

risposta

5

Inserire il layout della tavoletta in res/layout-w600dp o la larghezza minima che si desidera supportare per il layout di due riquadri.

+0

Indovina che questa è la risposta corretta. Come afferma il sito web degli sviluppatori Android: questo è spesso utile per determinare se utilizzare un layout a più riquadri, perché anche su un dispositivo tablet, spesso non si desidera lo stesso layout a più riquadri per l'orientamento verticale come per l'orizzontale. Pertanto, è possibile utilizzarlo per specificare la larghezza minima richiesta per il layout, anziché utilizzare insieme le qualificazioni di dimensioni dello schermo e di orientamento. ** Si noti che il suo W e non SW ** – Reinherd

1

Si potrebbe semplicemente ignorare il qualificatore -port. In genere se il dispositivo ha 600 dpi (o qualunque numero si scelga), è possibile visualizzare il layout a due riquadri. È davvero importante se è in modalità orizzontale o verticale se c'è abbastanza spazio sullo schermo?

Quindi, in generale, è possibile inserire il layout per schermi piccoli nella cartella layout e utilizzare layout-sw600dp per il layout più grande.

+0

Immagino che sarebbe un approccio migliore usando la larghezza invece della larghezza più piccola. Quindi se la larghezza effettiva (anche se in orizzontale o verticale) è superiore a X, sapremo che il layout dei due frammenti avrà un bell'aspetto. – Reinherd

5

Credo che ciò che si vuole veramente è dichiarare una cartella ...

layout-w600dp-land 

questo verrà richiamato solo se il tablet o dispositivo w600dp è in modalità orizzontale. Fondamentalmente è possibile combinare qualificazioni w600dp con land.

Problemi correlati