Android: Понимание доступной папки
У меня есть изображение размером 250 * 70 пикселей в папке drawable
(я только начинаю работать в Android, поэтому я создал папку drawable
в res
), и у меня есть то же изображение с более высокими размерами в папке drawable-large
; но изображение не выглядит так, как я ожидал.
Может ли кто-нибудь объяснить причину/назначение 3 доступных папок?
Где я должен хранить свое изображение так, чтобы оно отображалось правильно в обоих режимах (пейзаж и портрет) и на всех мобильных телефонах (включая планшеты)?
Я хочу, чтобы мое изображение масштабировалось динамически до размера экрана устройства.
Может ли кто-нибудь поделиться своими взглядами или ссылками для поиска?
Ответы
Ответ 1
По умолчанию Android поддерживает три папки для изображений с разной разрешающей способностью позади, это использование или разрешение Android-устройства, на котором приложение будет выполняться.
Папка изображений hdpi поддерживает изображения для Android Broad Screen или Android-телефонов с более высоким разрешением.
ldpi для более низкого качества изображения, которое поддерживает более ранние наборы андроида
mdpi для поддержки средних изображений
xhdi для устройств с максимальным разрешением.
Android OS выбирает изображение самостоятельно, проверяя совместимое устройство и его разрешение.
Надеюсь, это поможет. Примите ваше объяснение.
Ответ 2
Имена папок должны быть:
- /drawable-ldpi Для экранов низкой плотности
- /drawable-mdpi Для экранов средней плотности
- /drawable-hdpi Для экранов высокого разрешения
- /drawable-xhdpi Для экранов сверхвысокого разрешения
/drawable должен быть зарезервирован для активов, которые вы (1) не заботитесь о том, какое устройство, или для (2) xml-ресурсов, доступных для рисования
Кроме того, вы можете предоставлять различные ресурсы в зависимости от конфигурации с помощью квалификаторов конфигурации, вы можете прочитать все об этом здесь http://developer.android.com/guide/topics/resources/providing-resources.html
например, вы можете иметь активы высокого разрешения для ландшафта с папкой
надеюсь, это поможет
Ответ 3
drawable-ldpi
drawable-mdpi
drawable-hdpi
drawable-xhdpi
вытяжка-tvdpi
вытяжка-nodpi
вытяжка-xxhdpi
вытяжка-xxxhdpi
We can also use "drawable-xxhdpi"
xxhdpi (480dpi, Android 4.1 or later)
См. "Табличная колонка Android" в следующей ссылке
http://en.wikipedia.org/wiki/Smartphone
См. "Таблица 1" в следующей ссылке (xxxhdpi)
http://developer.android.com/guide/practices/screens_support.html#xxxhdpi-note
Примечание: квалификатор drawable-xxxhdpi необходим только для того, чтобы предоставить значок запуска, который может казаться больше обычного на устройстве xxhdpi. Вам не нужно предоставлять ресурсы xxxhdpi для всех ваших изображений приложений.
Примечание будет в следующей ссылке
http://developer.android.com/design/style/iconography.html#xxxhdpi-launcher
Ответ 4
Вместо drawable-large
вы должны использовать drawable-hdpi
папку.
Кроме того, Поддержка нескольких экранов может оказаться полезной для вас
Ответ 5
на самом деле есть 4 стандарта разрешения экрана - посмотрите эту ссылку для получения дополнительной информации http://developer.android.com/guide/practices/screens_support.html, в таблице ниже. Когда вы устанавливаете приложение на устройство, устройство возвращает один из этих стандартов и выбирает ресурсы из соответствующей папки - ldpi, mdpi, hdpi и xhdpi
Ответ 6
1) Причина, по которой скрываются разные папки для рисования, - повышение удобства использования нашего приложения за счет плотности экрана каждого устройства.
2) "Где хранить..." - в идеале вы должны хранить изображение с соответствующим размером для каждой существующей плотности экрана. Если вы новичок, просто используйте одну папку и не беспокойтесь об этом сейчас.
4) Масштабирование изображения Вот классное руководство, которое поможет вам с масштабированием изображения в приложении: https://thoughtbot.com/blog/android-imageview-scaletype-a-visual-guide
3) Ссылки: https://material.io/tools/devices/ - список всех устройств и плотности