Подтвердить что ты не робот

Виджет неправильный размер сетки

Я написал виджет, который должен быть 4x2 кадрами рабочего стола. Это minheight и minwidth, в соответствии с текущей страницей "Руководство по дизайну приложений для виджетов"

android:minWidth="250dp"
android:minHeight="110dp"

И добавление применяется от dimens.xml, если версия системы ниже сэндвич с мороженым

На моем Nexus 4 (xhdpi, Jellybean 4.2.1) этот виджет 4x2. На эмуляторе (hdpi, Gingerbread 2.3.3) этот виджет равен 4x2. Однако на моем Nexus 7 (hdpi, Jellybean 4.2.1) виджет 3x2. Я не могу за всю жизнь понять, почему и как это исправить. Любые мысли?

4b9b3361

Ответ 1

Ларс Фогель пишет в этот учебник для виджета главного экрана, который:

В качестве правила расчета вы должны определить размер виджета с помощью формулы: ((Число столбцов/строк) * 74) - 2. Это независимые от устройства пиксели, а -2 используется, чтобы избежать проблем округления.

Edit: видимо, Vogel получил его из старой документации API виджета (прокрутите страницу вниз по середине страницы, чтобы увидеть ссылку).

Основываясь на этом измерении, для ширины 4 ячеек и высоты 2 ячеек используйте 294 x 146 dip:

<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
    android:minWidth="294dip" android:minHeight="146dip"
    android:updatePeriodMillis="0" android:initialLayout="@layout/some_layout" />