Я создал XML-файл для AppWidget, как показано ниже.
XML / appwidget_4x1.xml
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="@dimen/AppWidget_4Cell"
android:minHeight="@dimen/AppWidget_1Cell"
android:updatePeriodMillis="0"
android:previewImage="@drawable/appwidget_4x1_preview"
android:initialLayout="@layout/appwidget_4x1_loading"
android:resizeMode="horizontal"
android:minResizeWidth="@dimen/AppWidget_3Cell" />
Проблема в Android 1.6. Мне явно не нравятся операторы @dimen для minWidth и minHeight. Когда это происходит, и пользователь перетаскивает AppWidget на экран, он говорит: «На домашнем экране больше нет места». Если я использую размеры явно, он снова начинает работать.
res / values / dimensions.xml (1.6 - 3.2)
<dimen name="AppWidget_1Cell">72dp</dimen>
<dimen name="AppWidget_4Cell">294dp</dimen>
res / values-v14 / dimensions.xml (4.0 +)
<dimen name="AppWidget_1Cell">40dp</dimen>
<dimen name="AppWidget_4Cell">250dp</dimen>
Это ошибка, и если да, то как это можно обойти? Я сделал это таким образом, чтобы следовать рекомендациям для новых размеров макета виджета Ice Cream Sandwich.