Разные папки значений в android
Я создаю разные папки values
в своем приложении (values, values-ldpi, values-mdpi, values-hdpi, values-xhdpi, values-nodpi, values-w360dp-mdpi)
. Но некоторые устройства, которые относятся к одной категории. Но с разными размерами экрана. Но я вижу размер шрифта в соответствии с плотностью устройства в этом ответе, предоставленном @PankajSharma, предлагается создать папки типа -
res/values/dimens.xml
res/values-small/dimens.xml
res/values-normal/dimens.xml
res/values-xlarge/dimens.xml
Я хочу знать, в чем разница между мной и по-другому? Я думаю, что ответ, предоставленный @PankajSharma, прост. Я также хочу знать, какой путь лучше?
Ответы
Ответ 1
Подход, который вы используете, является допустимым подходом, но немного устарел. Из HoneyComb
существует новый способ, чтобы исправить все это. Ваша папка ресурсов должна выглядеть следующим образом:
![enter image description here]()
Пожалуйста, обратитесь к ссылке, которую я опубликовал, и ознакомьтесь с концепцией Smallest Width
.
Надеюсь, что это поможет:)
EDIT: добавив в этот пост, попытайтесь установить некоторую стандартизацию в dimens.xml
, примерно так:
![введите описание изображения здесь]()
Это упрощает ведение кода, а также уменьшает количество папок dimen
. Обычно, вместо values-hdpi
, values-xhdpi
и т.д., Такие файлы, как values-sw480dp-xhdpi
, могут иметь больше значений для настройки, но затем все это контекстуально.
Ответ 2
Создайте единый макет для экранов по умолчанию 4.7 дюйма (hdpi) в папке макета и в папке с размерами. Это ваш Superset.
Теперь скажем, что вам нужны ваши макеты для 7-дюймовых устройств. Создать папку значений-sw600dp для 7inch в портретной ориентации
Теперь скажем, что вы хотите, чтобы ваши макеты для 10-дюймовых устройств Создавали значения -dw720dp folder
ПРИМЕЧАНИЕ. - Для пейзажа просто добавьте "-land" перед именами папок.
Теперь скажем, что у вас есть новые устройства, такие как Xperia SP (4.7 'и XHDPI) и Nexus 5 (5 "и XXHDPI).
Для этого вы можете создавать значения-xhdpi и values-xxhdpi-папки и подобный add -land для ландшафтной ориентации.
Надеюсь, вы поняли, как создавать папки.
Теперь ваш суперсет определяется в папке значений. Большинство измерений будут использоваться только здесь. Теперь запустите приложение на других устройствах. Независимо от того, какое несоответствие происходит, просто добавьте этот конкретный размер в свою папку значений
Чтобы проверить, из какой папки ваши макеты, изображения используются, используйте мой трюк.
Создайте пять одинаковых строк и поместите в него все значения, такие как:
Экран по умолчанию
Экран 4.7
Экран XHDPI
Экран MDPI
Создайте пять выпадающих папок, большинство из них уже есть: - drawable-hdpi, drawable-mdpi, drawable-xhdpi, drawable-xxhdpi, drawable-xxxhdpi
Поместите скриншоты ниже в их соответствующую папку под тем же именем
![enter image description here]()
![enter image description here]()
![enter image description here]()
![enter image description here]()
![enter image description here]()
Вот как выглядит моя папка res, и я поддерживаю все устройства с экрана 4.7 и выше: -
![enter image description here]()
Ответ 3
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
<!-- Various Text Sizes -->
<dimen name="text_size_extra_small">10sp</dimen>
<dimen name="text_size_small">12sp</dimen>
<dimen name="text_size_medium">14sp</dimen>
<dimen name="text_size_normal">16sp</dimen>
<dimen name="text_size_large">18sp</dimen>
<dimen name="text_size_extra_large">20sp</dimen>
<dimen name="text_size_super_large">50sp</dimen>
<dimen name="text_size_super_extra_large">70sp</dimen>
<!-- Various Paddings -->
<dimen name="padding_very_short">2dp</dimen>
<dimen name="padding_short">5dp</dimen>
<dimen name="padding_medium">7dp</dimen>
<dimen name="padding_normal">10dp</dimen>
<dimen name="padding_long">35dp</dimen>
<dimen name="padding_long_gamename">55dp</dimen>
<dimen name="padding_extra_long">15dp</dimen>
<!-- Various Margins -->
<dimen name="margin_very_short">5dp</dimen>
<dimen name="margin_med_short">5dp</dimen>
<dimen name="margin_short">10dp</dimen>
<dimen name="margin_meium">15dp</dimen>
<dimen name="margin_short_player_review">10dp</dimen>
<dimen name="margin_meium_player_review">15dp</dimen>
<dimen name="margin_normal">20dp</dimen>
<dimen name="margin_long">25dp</dimen>
<dimen name="margin_vshape">25dp</dimen>
<!-- Various Width -->
<dimen name="width_extra_min">120dp</dimen>
<dimen name="width_profile_messages_images">70dp</dimen>
<dimen name="width_half">240dp</dimen>
<dimen name="width_normal">300dp</dimen>
<dimen name="width_extra_large">360dp</dimen>
<dimen name="width_popup_window">180dp</dimen>
<!-- Various Height -->
<dimen name="height_very_short_shadow">1dp</dimen>
<dimen name="height_short">40dp</dimen>
<dimen name="width_ListHalf">260dp</dimen>