2010-09-27 2 views
4

В соответствии с управляющими ресурсами (изображениями) в версии Android 1.6 мы должны сохранять изображения с разными разрешениями в папке Drawable-Hdpi, Drawable-Mdpi, Drawable-Lpi.Android - Разрешение экрана и плотность экрана

И как на этой странице: http://developer.android.com/guide/practices/screens_support.html,

В разделе низкой плотности - есть три резолюции используются: 240 * 320, 240x400, 240x432 для малого экрана, нормальный экран, большой экран в частности.

такой же способ для секции средней плотности - используются три разрешения: 320x480, 480x800, 480x854 для малого экрана, обычный экран, большой экран.

и так же, как для высокой плотности ........

, но я запутался здесь:

(1) Как я пришел, чтобы узнать, что ли мало, нормальный или большой экран Я имею в виду, есть ли способ узнать?

(2) Как узнать, какой тип плотности я использую?

(3) И в Drawable-Hdpi, Drawable-Mdpi, папке Drawable-ldpi, какой образ резолюции мы должны сохранить особенно?

pls делитесь своими знаниями.

ответ

7

Есть конкретные вызовы Android API, которые могут, во время выполнения сказать вы, какая плотность и (малый/большой/нормальный) размер экрана на телефоне. Однако, как разработчику, нам не нужно беспокоиться о отдельных телефонах вообще. Все, что нам нужно сделать, это иметь активы ldpi/mdpi/hdpi и малые/нормальные/большие макеты в apk. Android внутренне обрабатывает все.

Не забудьте получить глубокое понимание того, как Android определяет, какие активы использовать и наложение псевдонимов here.

+0

Я поместил шахту в Xhpdi, но они не всегда масштабируются, некоторые делают, некоторые не делают. Поэтому я считаю, что предпочтение отдается различным папкам, особенно если вы создаете большое приложение, чтобы максимизировать производительность и пользовательский интерфейс. нет? –

+0

Согласны, также не забудьте использовать 9 патч-изображений, когда это возможно. Они помогают совсем немного. – omermuhammed

3

Почему вы хотите знать фактическую плотность? Это бизнес Android. Но я уверен, что есть способ получить эту информацию.

Для разработки я поместил все в папку hdpi. Я также мог бы разместить все в общей графической папке.

В то время, когда вы публикуете u, вы можете решить, хотите ли вы предоставить уже масштабированные ресурсы для ldpi и mdpi. Однако это не обязательно.

Update:Retrieve actual density with this class и best practices

Update 2: Я нашел 25 мин видео с Motorola обсуждали все эти вопросы: Working with multiple screens

+0

если вы положили все, ИПЧР-папку, это нормально для каждого резолюций? будут ли изображения растянуты/обрезаны? –

+0

Да, это нормально. Они будут увеличены или уменьшены.U также может установить определенное поведение растяжения/обрезки, если вы хотите с scale_type в imageViews. Вы также должны всегда использовать dp- и sp-Dimensions, тогда вы все в порядке. Вы также можете тестировать различные экраны в SDK в предварительном просмотре и в качестве виртуальной машины. – OneWorld

+0

thanx для такой информации, и я уже использую scale_type для просмотра изображений, а также устанавливаю размеры с помощью dip (dp) или sp –

1

1) Измените содержимое макета в разных папках, например, макет, макет, большой размер и т. Д. Теперь протестируйте его в другом эмуляторе с различным разрешением экрана.

2) для выяснения плотности использования устройства
Log.d("Density", "" + (getResources().getDisplayMetrics().density));

+0

Кстати, вопрос был задан и ответил год назад – banzai86

Смежные вопросы