Использование ресурсов HDPI на Kindle Fire

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

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

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

Спасибо

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

3 ответа

Решение

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

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

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

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

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

Разжечь огонь 1024x600 с 160 точек на дюйм, верно?

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

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

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

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

Другие вопросы по тегам