12

Hallo,Android Виджет Растровые Размеры

Я пишу виджет, но не уверен, какой размер растрового изображения для использования в качестве фона для каждого разрешения экрана/плотности.

Согласно Android Developer App Widgets учебника:

To find your minimum width and height in density-independent pixels (dp), use this formula: 
(number of cells * 74) - 2 
Following this formula, you should use 72 dp for a height of one cell, 294 dp and for a width of four cells 

Так что, если мой виджет 72dp х 294dp, какой размер битовые мне нужно для моего ldpi, MDPI и ИПЧР вводимого коэффициента?

Также, мне нужны какие-либо настройки экранов поддержки в моем манифесте?

ТИА,

-Frink

Update: Я сделал некоторые модели шахматной доски различных размеров и цветов для каждой drawable- папки и попытался их. Является ли эта плотная вещь немного красной селедкой?

Я только что сделал экранный захват моего эмулятора, работающего как HVGA, средняя плотность, 320x480. Размер моего виджета - 320x100, поэтому я создаю растровое изображение 320x100 в папке mdpi в качестве фона для моего виджета, он отлично выглядит как на моем эмуляторе, так и на LG GT540.

И для эмулятора, работающего как WVGA854, с высокой плотностью, 480x854. Размер моего виджета - 480x150. Создание фона этого размера и размещение его в папке hdpi отображается на этом эмуляторе правильно. У меня нет оборудования, чтобы проверить это на Тхо :-(

UPDATE2: Я думаю, что я могу объяснить мою проблему лучше :-)

Если у меня есть три устройства:

Device1, resolution 320x480, density ldpi 
Device2, resolution 320x480, density mdpi 
Device3, resolution 400x854, density mdpi 

Физический размер экранов, вероятно, все будет по-другому, но я не думаю, что фактические размеры имеют значение

Я разработал, что Device1 и Device2 потребуется фон 320x100, тогда как Device3 потребуется 400x150 Итак, что ize фон переходит в папку mdpi для правильного отображения на Device2 и Device3?

+0

Я также заинтересован в ответе. Мой виджет - это одна ячейка, а размеры изображения, которые я использовал, - квадраты сторон 72px, 100px и 150px. Это были лишь догадки, поэтому мне было бы очень интересно узнать «официальные» цифры. –

+0

В ответ на ваше обновление, похоже, что он работает, не так ли? Или есть проблема? Кроме того, при запуске эмулятора есть настройка (или она может быть в настройках эмулятора) для масштабирования эмулятора до «реального» размера, что может помочь вам протестировать. – Computerish

+0

Вычислительный компьютер - см. Update2! Я смотрю на свои эмуляторы в «реальном» размере, ta – FrinkTheBrave

ответ

9

Вам просто нужно преобразовать 72dp х 294dp в фактические размеры пикселя для ldpi, mdpi и hdpi.Этот процесс объясняется здесь:

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

Формула pixels = dps * (density/160), так что в вашем случае, 72 дп х 294 дп будет равна:

  • ldpi (120): 54 х 221 пикселей
  • MDPI (160): 72 х 294 пикселей
  • ИПЧР (240): 108 х 441 пикселей
  • xhdpi (320): 144 х 588 пикселей

Обновление в ответ на ваше второе обновление: Ресурсы, основанные на плотности, направлены на то, чтобы графики (примерно) совпадали с фактическим размером на всех устройствах. В вашем случае, однако, вам не нужен фактический размер, вы заботитесь о том, чтобы фон заполнил все пространство, которое он должен заполнить для виджета. Вы должны уметь справляться с этой проблемой в большинстве случаев, создав изображение Nine Patch. Девять патчей будут масштабироваться в соответствии с требуемым размером.

http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch

http://developer.android.com/guide/developing/tools/draw9patch.html

+0

Привет, я дам это, когда я получу шанс – FrinkTheBrave

+0

@FrinkTheBrave, пожалуйста, дайте нам знать, как вы попадаете на –

+0

Компьютеризуется, мне кажется, что выпадающие папки должны быть связаны с размером экрана, а не с плотностью? – FrinkTheBrave

2

Существует хороший совет от Google на иконке размеров здесь: http://developer.android.com/guide/practices/ui_guidelines/icon_design.html

Я предполагаю, что они должны применяться к пользовательским виджетам тоже.

+2

Значок и руководящие принципы дизайна, похоже, применимы ко всему **, кроме ** изображений виджетов. Отсюда путаница. –

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