Android hdpi / mdpi / ldpi для папки значений? - PullRequest
20 голосов
/ 09 марта 2012

Android позволяет нам определять hdpi / mdpi / ldpi для папки для рисования, чтобы учитывать экраны / устройства разных размеров. Мне было интересно, можно ли применить ту же поддержку для папки «Значения» (или даже для папки макета)? В связи с этим я обычно определяю файл «sizes.xml», в котором содержатся стандартные размеры dp, применяемые к полям и отступам. Я также делаю то же самое для размеров sp для текста. Я хотел бы отрегулировать эти значения на основе точек на дюйм телефонов.

Ответы [ 4 ]

27 голосов
/ 04 сентября 2015

Да, вы можете.Точно так же:

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))

(из: http://wiki.jikexueyuan.com/project/android-actual-combat-skills/multi-resolution-adapting-common-directory.html Внимание: ссылка на китайском языке!.)

26 голосов
/ 09 марта 2012

Да, я полагаю, что что-либо в папке res/ может использовать «Спецификаторы конфигурации». Например, у вас может быть папка values-sw600dp-mdpi-land/.

См. «Использование квалификаторов конфигурации»: http://developer.android.com/guide/practices/screens_support.html#qualifiers

Впервые я заметил это, посмотрев пример кода приложения Google IOSched, посмотрите папку res: https://github.com/google/iosched/tree/master/android/src/main/res

Вы увидите, что у них есть папки "values-sw600dp-land", "values-w400dp" и "values-v17", и это лишь некоторые из них.

3 голосов
/ 12 декабря 2013

В качестве значений папки больше подходят для установки различных полей и размеров шрифта в зависимости от разрешения устройства, хотя некоторые устройства hdpi принимают значения из values-xhdpi. Таким образом, вместо использования values-normal-hdpi, values-normal-xhdpi является более подходящим ответом.

Используя это, мы также можем исключить необходимость использования разных папок макета, задав разные значения dps и размера в папках значений для очень легкой поддержки телефонов и планшетов.

0 голосов
/ 09 марта 2012

Да, вы можете определить файлы, которые будут использоваться, основываясь на стандартных модификаторах.Например, в одном из моих приложений я определил файлы styles.xml и strings.xml для различных размеров и ориентаций, и все они работают как ожидаемые значения-large-hdpi и values-large-land-hdpi и т. Д.

...