2010-03-30 3 views
1

Из указаний на экран виджетов Android, http://developer.android.com/guide/practices/ui_guidelines/widget_design.html, мы знаем, что на главном экране есть 4 * 4 ячейки, а в портретной ориентации каждая ячейка имеет ширину 80 пикселей на 100 пикселей.Размер виджета главного экрана для большого экрана или hdpi?

Я думаю, что это для базового экрана HVGA. Как насчет больших экранов и экранов hdpi, у них все еще есть 4 * 4 ячейки для виджета, и каждая ячейка в портретной ориентации все еще 80 пикселей * 100 пикселей?

Спасибо.

ответ

2

Пиксели, на которые вы ссылаетесь, являются независимыми от устройства пикселями. Как вы можете видеть в the documentation here:

<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" 
    android:minWidth="294dp" 
    android:minHeight="72dp" 
    android:updatePeriodMillis="86400000" 
    android:initialLayout="@layout/example_appwidget" 
    android:configure="com.example.android.ExampleAppWidgetConfigure" > 
</appwidget-provider> 

Обратите внимание, как они используют дп единиц, а не точки. Это позволяет виджет правильно масштабировать различные разрешения экрана.

Что касается экрана, состоящего из ячеек 4x4, это свойство стандартного рабочего стола для Android. Независимо от разрешения экрана, домашний экран будет представлять собой ячейки 4x4 при использовании основного экрана Android по умолчанию.

Есть другие руководители главного экрана, которые имеют более 4x4 ячеек, таких как пользовательский диспетчер главного экрана на планшетах Archos. Если вы хотите, чтобы ваш appwidget работал в некоторых из этих других менеджеров рабочего стола, которые делают такие вещи, как увеличение количества ячеек на экране или возможность ввода текста и прокрутки в виджетах приложений, тогда вам, вероятно, придется написать собственную версию ваш виджет для тех, кто работает с домашним экраном.

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

+0

Спасибо за ваши комментарии. Ещё один вопрос. Для экрана с большим экраном и hdpi - одна ячейка еще 80dip * 100dip в портретной ориентации. Я спросил это, потому что мне нужно рисовать взгляды в виджетах. Спасибо. – user256239

+0

Насколько я знаю, размер ячейки всегда равен 80dip и 100dip. –

+0

Погруженный глубоко в SDK (http://developer.android.com/guide/topics/resources/providing-resources.html), он говорит, что «Таким образом, соотношение между тремя плотностями составляет 3: 4: 6», , Таким образом, нормальный размер ячейки (MDPI) составляет 80x100, а размер большого (HDPI) - 120x150. – Andy

2

Когда вы используете изображения, вы должны поместить их с разными размерами в соответствующие папки в вашем каталоге проектов.

пример: - вы используете ширину 100dip для изображения. - в папке «drawable-mdpi» вы должны положить .png с шириной 100 пикселей. - в папке «drawable-hdpi» .png с шириной 150 пикселей - в папке «drawable-ldpi» .png с шириной 75 пикселей

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