Какую папку разместить 9png изображения?
Мы используем 9png в основном для уменьшения размера apk. Но я столкнулся с особой проблемой. Я не уверен, в какой папке я должен разместить 9pngs. Я поместил их в папку HDPI. Поскольку Android "умный", похоже, если я использую приложение в телефоне MDPI, он "масштабирует" 9png, что создает сумасшедшие эффекты. Я не сталкивался с какой-либо серьезной проблемой, пока не попробовал ее в заметке Галактики. Похоже, что 9png было взято из HDPI и масштабировано (Note имеет 800x1280), и это создало странные эффекты.
- Итак, какое место нужно поместить в 9png?
- Как сообщить системе Android не "масштабировать" 9png на основе папки, в которую она помещена?
Ответы
Ответ 1
В соответствии с Romain Guy answer в группах Google:
Поведение 9-патча undefined при сжатии. На практике вы будете см. перекрытия различных разделов 9patch. Не делайте этого:)
Из того, что я заметил в своих проектах, 9PNG уменьшен так же, как и любой обычный PNG, поэтому я обычно запрашиваю у нашего дизайнера весь набор изображений для ldpi, mdpi, hdpi
и xhdpi
, и я преобразую их все в 9patches.
Это, если нет очень простой 9patch, как обычный фон кнопки, это не имеет никакого значения, когда растягивается или сокращается, поэтому я обычно помещаю его в обычную папку drawable
.
Ответ 2
У меня была аналогичная проблема с девятым патч-изображением: если я поместил его в папку res/drawable
, он не работал на экране ldpi
(исказил изображение и потерял прозрачность).
Решение для меня состояло в том, чтобы поместить его в папку res/drawable-nodpi
. В документации указано:
Это можно использовать для ресурсов растровых изображений, которые вы не хотите масштабируется в соответствии с плотностью устройства.
Ответ 3
Просто поместите 9png в папку HDPI.
если эффект выглядит странно в вашей заметке о галактике.
Попросите дизайнера дать вам новый файл 9png для XHDPI. а затем поместите новый файл в папку XHDPI.