2012-03-09 8 views
20

Android ci consente di definire hdpi/mdpi/ldpi per la cartella drawable per tenere conto di schermi/dispositivi di dimensioni diverse. Mi stavo chiedendo se è possibile applicare lo stesso supporto per la cartella Values ​​(o anche per la cartella di layout)? Essendo il motivo, in genere definisco un file "sizes.xml" che contiene le dimensioni standard dei dp che applico ai margini e ai paddings. Faccio lo stesso anche per le dimensioni di sp per il testo. Mi piacerebbe regolare quei valori in base al dpi dpi.Android hdpi/mdpi/ldpi per cartella Valori?

risposta

26

Sì, credo che qualsiasi cosa nella cartella res/ possa utilizzare "Qualificati di configurazione". Ad esempio, puoi avere una cartella values-sw600dp-mdpi-land/.

Vedere "Uso di configurazione Qualificazioni": http://developer.android.com/guide/practices/screens_support.html#qualifiers

primo luogo ho notato questo, cercando in codice di esempio app IOSched di Google, guarda la cartella res: https://github.com/google/iosched/tree/master/android/src/main/res

Vedrai che hanno " valori-sw600dp-land "," values-w400dp "e" values-v17 "cartelle, solo per citarne alcuni.

0

Sì, è possibile definire i file da utilizzare in base a qualsiasi sia il modificatore standard. Ad esempio, in una delle mie app ho definito i file styles.xml e strings.xml per varie dimensioni e orientamenti e tutto funziona come valori attesi-large-hdpi e valori-large-land-hdpi, ecc.

3

Poiché le cartelle dei valori sono più adatte all'utilizzo per l'impostazione di margini e dimensioni di font diversi in base alla risoluzione del dispositivo, sebbene alcuni dispositivi hdpi utilizzino valori da valori-xhdpi. Quindi, usando valori -normali-hdpi, valori-normali-xhdpi è la risposta più appropriata.

Utilizzando questo, possiamo anche omettere la necessità di cartelle di layout diverse impostando dps e dimensioni diverse nelle cartelle valori per supportare telefoni e tablet molto facilmente.

23

Sì, è possibile. Proprio come questo:

res/values/dimens.xml(default) 
res/values-ldpi/dimens.xml (240x320 and nearer resolution) 
res/values-mdpi/dimens.xml (320x480 and nearer resolution) 
res/values-hdpi/dimens.xml (480x800, 540x960 and nearer resolution) 
res/values-xhdpi/dimens.xml (720x1280 - Samsung S3, Micromax Canvas HD, etc) 
res/values-xxhdpi/dimens.xml (1080x1920 - Samsung S4, HTC one, etc) 
res/values-large/dimens.xml (480x800) 

res/values-large-mdpi/dimens.xml (600x1024) 
res/values-sw600dp/dimens.xml (600x1024) 
res/values-sw720dp/dimens.xml (800x1280) 
res/values-xlarge-xhdpi/dimens.xml (2560x1600 - Nexus 10") 
res/values-large-xhdpi/dimens.xml (1200x1920 - Nexus 7"(latest)) 

(da: http://wiki.jikexueyuan.com/project/android-actual-combat-skills/multi-resolution-adapting-common-directory.html . Attenzione: il link è cinese !!! Per tradurre, fare clic destro sulla pagina, clicca su "tradurre in inglese" nel menu a comparsa)

Problemi correlati