Используйте ресурсы HDPI на Kindle Fire - PullRequest
2 голосов
/ 27 января 2012

Я сейчас пытаюсь заставить мое приложение для Android работать на Kindle Fire. У меня есть обложка для экранов MDPI и HDPI, но я заметил, что когда я загружаю приложение в Kindle, оно отображает обложку MDPI и растягивает некоторые из моих обложек, которые я заполняю родителем, чуть больше, чем я хочу .

Мне было интересно, есть ли какой-нибудь способ для Android при определенных обстоятельствах (например, если я нахожусь на Kindle), заставить его загружаться из обложки HDPI, вместо того, чтобы по умолчанию использовать MDPI.

Я понимаю, что мог бы просто сохранить свою иллюстрацию HDPI в папке MDPI с немного другим именем и выполнить проверку для каждого ресурса, но это много затрат, не говоря уже об увеличении размера моего приложения, чего я также хотел бы избежать.

Спасибо

Обновление: все еще смотрю на это. Я думаю, к чему я действительно стремлюсь, есть ли способ для устройства Android выбрать обложку HDPI вместо MDPI, даже если обложка MDPI существует?

Ответы [ 3 ]

1 голос
/ 06 апреля 2012

Тем временем закончилось использование хакерского решения, но я столкнулся с этим:

Я не хочу, чтобы Android автоматически изменял размер моего растрового изображения

В значительной степениМне просто нужно было переместить мои изображения hdpi в папку nodpi (чтобы избежать проблем с масштабированием) и слегка изменить имена (я добавил _hd к имени).После этого я сделал загрузчик изображений, который берет имя нужного мне изображения и возвращает _hd images, если устройство имеет формат hdpi или если он разжигает огонь:

id = ctx.getResources().getIdentifier(string + "_hd", "drawable", context.getPackageName());

Примечание: документы не рекомендуют использовать getIdentifier(), поскольку он менее эффективен, чем просто использование адреса ресурса, но я посмотрел на время загрузки, и загрузка 1000 изображений с помощью getIdentifier занимает 0,25 секунды, что хорошо для меня, особенно потому, что я не загружаюсь в непосредственной близости отстолько изображений.

1 голос
/ 28 января 2012

Kindle Fire имеет разрешение 1024x600 и 160 точек на дюйм, верно?

Вы можете попробовать новые ресурсы с этим разрешением.И поместите их в папку MDPI.Добавьте макет-директорию в / res и скопируйте туда файл макета.Таким образом, в Kindle Fire вы используете макет на макете, указывающий на большие ресурсы в папке MDPI.

И убедитесь, что вы всегда используете для рисования девять патчей для ресурсов.

Надеюсь, это поможет вам.

0 голосов
/ 21 апреля 2012

Вы можете попробовать новые ресурсы с этим разрешением и поместить их в папку MDPI. Добавьте каталог layout-large в /res и скопируйте туда файл макета. Таким образом, с Kindle Fire вы используете макет на layout-large, указывающий на большие ресурсы в папке MDPI.

...