Для масштабирования части вопроса, сначала нужно получить квантованного плотность для устройства, запустив
adb shell getprop ro.sf.lcd_density
и называем это квантуется плотности для устройства. В общем, эта квантованная плотность отличается от физической плотности устройства, но может быть такой же, если физическая плотность отлично падает как одна из границ «ковша». В то время как физическая плотность описывает измерение в реальном мире, квантованная плотность устанавливаются производителем устройства, и обычно выбирается, чтобы быть одним из следующих значений:
Квантовая плотность контролирует то, что я буду называть коэффициентом масштабирования изображения (ISF) для устройства. Формула выглядит следующим образом:
ISF = ro.sf.lcd_density/160
ИСБ масштабного коэффициент, который используется, когда ресурсы загрузка/макет-менеджер Android читает битовую карту ресурса из файла и выводит его на экран (я не знаю, если масштабирование происходит во время загрузки или времени рендеринга). На устройстве Nexus 6 ISF равен 3,5, потому что квантованная плотность была установлена равной 560 (и 560/160 = 3,5). Разумеется, размер рендеринга во время выполнения также является функцией рисованного ведра, содержащего данный файл. Например, на Nexus 6:
- 64-пиксель изображения в папке MDPI отображается, как 224 пикселей (с 3,5 * 64/1,0 = 224)
- 64-пиксель изображения в папке ИПЧР отображается, как 149 пикселей (с 3,5 * 64/1,5 = 149)
- 64-пиксельное изображение в папке xhdpi отображается как 112 пикселей (с 3,5 * 64/2.0 = 112)
- 64-пиксельное изображение в папке xxhdpi отображает 75 пикселей (с 3,5 * 64/3.0 = 75)
- 64-пиксельное изображение в папке xxxhdpi отображается как 56 пикселей (начиная с 3,5 * 64/4,0 = 56)
Кстати, квантованная плотность также определяет физический размер dp, который вы указываете в файлах макета. Формула для этого метода:
+=======================+
| Dq |
| 1dp = ----- px |
| 160 |
+=======================+
где Dq - квантованная плотность. Например,
- на устройстве которого Ид 160, 1DP = 1px
- на устройстве которого составляет 240 Dq, 1 dp = 1.5px
- на устройстве с Dq 320, 1dp = 2px