2013-07-28 7 views
6

ho creato layout grande, layout normale e layout xlarge nelle res cartella e ho copiato tutti i file XML per quelle cartelle di layoutdi sostegno dello schermo più dispositivi utilizzando il layout-grandi, il layout-normale e di layout-xlarge cartelle

primo luogo, voglio chiedere che cosa è la differenza tra il layout (l'impostazione predefinita ) e layout normale cartella?

So che se eseguo l'applicazione su grande schermo l'app prenderà i file xml da layout-xlarge. così ho fatto tutti gli elementi in layout xlarge sguardo come voglio utilizzare FrameLayout in TAP2 10.1, ma quando l'eseguo in Note2 o S3 cellulare ha un aspetto diverso, perché la dimensione dello schermo non è lo stesso .

Quindi, come posso eseguire l'applicazione in formato tap2 10.1 (1.280 x 800) e note2 o s3 (1.280 x 720)?

risposta

12

Here c'è la descrizione ufficiale di come supportare tutte le dimensioni dello schermo. E come descritto le cartelle di layout sono:

res/layout/my_layout.xml    // layout for normal screen size ("default") 
res/layout-small/my_layout.xml  // layout for small screen size 
res/layout-large/my_layout.xml  // layout for large screen size 
res/layout-xlarge/my_layout.xml 

Così layout e la cartella layout-normal sono gli stessi, ma nella nuova API di Android, non c'è più la cartella layout normale, ma solo la cartella layout. Inoltre devi sapere se non c'è il layout specifico delle dimensioni dello schermo in cui l'app è in esecuzione, per impostazione predefinita l'app prende il layout "predefinito".

EDIT

Si possono avere diverse risoluzioni dello schermo nella stessa cartella, come si può imparare da queste immagini:

enter image description here

se si desidera un layout più specifica per la risoluzione specifica che si Devo rilevare in fase di esecuzione la dimensione esatta dello schermo.

+0

ma c'è più di una dimensione in ogni cartella –

+0

ad esempio 1.280 x 800 e 1.280 x 720 sono entrambi in layout-xlarge –

+0

vedere la mia risposta modificare – lory105

0

Da Supporting Multiple Screens, è necessario definire la cartella di layout come questo

res/layout/my_layout.xml    // layout for normal screen size ("default") 
res/layout-large/my_layout.xml  // layout for large screen size 
res/layout-xlarge/my_layout.xml  // layout for extra-large screen size 
res/layout-xlarge-land/my_layout.xml // layout for extra-large in landscape orientation 

(il tipo di base schermo)

xlarge screens are at least 960dp x 720dp 
large screens are at least 640dp x 480dp 
normal screens are at least 470dp x 320dp 
small screens are at least 426dp x 320dp