2011-12-13 5 views
0

Я запутаться Android документации по этим вопросам, так что я буду просить их здесь: У меня есть HTC Desire мобильного телефон на этой link я видим, что он имеет пиксели 480 × 800 и плотность 252Android изображения, плотность и экран пиксели

  1. когда я пытаюсь получить плотность, как этого GetResources(). getDisplayMetrics(). densityDpi я получаю значение 240, а не 252.
  2. У меня есть изображение с размером 400x113 с плотностью 240 (точек/дюйм), и когда я пытаюсь чтобы получить размер в программе с getWidth и getHeight, он сказал 600 и 170.
  3. Какой размер мое изображение должно быть для этот телефон HTC Desire и какую плотность он должен иметь.

Спасибо.

ответ

2
  1. Android помещает устройства в ведра: ldpi, mdpi, hdpi, xhdpi. Желание попадает в ведро hdpi, которое составляет 240dpi. Как вы можете видеть, 252dpi очень близко к 240dpi.
  2. По умолчанию mdpi 160dpi. При получении ресурсов, если вы не укажете иначе, он попытается масштабировать изображения от исходной плотности до новой. 160: 240 :: 400: 600 :: 113: 170. Вероятно, вы разместили свое изображение в папке с возможностью переноса.
  3. Этот размер прекрасен, но вы должны поместить его в папку drawable-hdpi, если это для устройств hdpi. (Вероятно, вы также должны поместить версию mdpi соответственно в папку drawable-mdpi для устройств mdpi).

Для получения дополнительной информации о поддержке нескольких экранов и информации о плотностях читайте через this document.

+0

Спасибо за ответ, Теперь я понимаю, как это работает, но теперь у меня другая проблема. У меня такое же изображение, что я сказал ранее, и я положил его в папку с возможностью рисования и попытался рассчитать размер изображения с помощью size = getWidth()/(Плотность/160), но мое изображение низкое качество. Могу ли я установить изображение в режиме рисования и сохранить качество, когда я использую этот расчет для ширины и высоты изображения? Спасибо – Kec

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