У меня проблемы с плотностью экрана Android - PullRequest
1 голос
/ 16 июня 2011

Я сейчас на начальных этапах разработки приложения для Android.Я знаю, что есть 3 различных плотности экрана: HDPI, MDPI и LDPI.Я знаю, что большинство телефонов используют разрешение экрана 800x480 или для устройств более старого поколения разрешение экрана 480x320.Мне нужно знать, к какой категории плотности подпадают эти разрешения экрана?Когда я помещаю изображения, сделанные для 800x480, в папку MDPI, они получаются размытыми, когда я запускаю приложение.

Может, кто-нибудь подскажет, как правильно создавать изображения для этих разных разрешений экрана и плотности?

Ответы [ 4 ]

0 голосов
/ 16 июня 2011

Я считаю, что самый простой способ справиться с этой проблемой (и, насколько я могу судить, базовый источник Android делает то же самое) - просто сгенерировать изображение высокой четкости и поместить его в папку HDPI, а затем позволить Android обрабатывает даунсамплинг для вас. Вам нужно предоставлять изображения с более низким разрешением, когда изображение с пониженной частотой не будет иметь достаточного контраста или будет выглядеть неправильно. Возможно, я ошибаюсь, но мне еще предстоит найти экранную комбинацию, которая выглядит неправильно, по крайней мере, с точки зрения изображения. Макеты, ну, это что-то еще.

0 голосов
/ 16 июня 2011

Официального стандарта не существует, поскольку плотность составляет около пикселей на дюйм, а не разрешение экрана. Но любой экран с разрешением 800x480, скорее всего, рисует из папки hdpi, поэтому вы видите его размытым. Узнайте, какова целевая плотность экрана и используйте это уравнение:

px = dp * (screen_density / 160)

Где screen_density - плотность экрана устройства.

0 голосов
/ 16 июня 2011

Документация, которую Олегас связал с вами, содержит всю информацию, необходимую для настройки макетов.

По сути, вы хотите создать макеты для каждого размера экрана (в сантиметрах или дюймах).Для этого вам нужно создать разные папки и назвать их res/layout-small, res/layout-normal, res/layout-large и res/layout/xlarge.

Вам также потребуется создавать растровые изображения с разными размерами для каждой плотности экрана (в dpi).Опять же, вам нужно создать несколько альтернативных папок: res/drawable-ldpi, res/drawable-mdpi и res/drawable-hdpi.

. ОС Android решит, какой набор макетов и какой набор рисованных объектов использовать в зависимости от характеристик устройства.Диапазон плотностей описан в этом разделе: http://developer.android.com/guide/practices/screens_support.html#range

Чтобы иметь представление о размере растровых изображений, которые вам понадобятся, вы можете следовать рекомендациям по дизайну значков: http://developer.android.com/guide/practices/ui_guidelines/icon_design.html.

0 голосов
/ 16 июня 2011

Плотность - это не только размер экрана в пикселях, но и размер экрана в дюймах.Вы можете иметь разрешение 800x480, но с экраном 10 'у вас не будет HDPI.

http://developer.android.com/guide/practices/screens_support.html

...