Подтвердить что ты не робот

Android hdpi/mdpi/ldpi для папки "Значения"?

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

4b9b3361

Ответ 1

Да, я считаю, что в папке 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", просто чтобы назвать несколько.

Ответ 2

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

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 Внимание: ссылка китайская!!! Чтобы перевести, щелкните правой кнопкой мыши на странице, нажмите "перевести на английский язык" во всплывающем меню.)

Ответ 3

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

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

Ответ 4

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