我为AppWidget创建了一个XML文件,如下所示。
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中,显然不喜欢我使用minWidth和minHeight的@dimen语句。当发生这种情况并且用户在屏幕上放下AppWidget时,它说:“此主屏幕上没有更多空间。”如果我明确使用尺寸,它会再次开始工作。
res / values / dimens.xml(1.6 - 3.2)
<dimen name="AppWidget_1Cell">72dp</dimen>
<dimen name="AppWidget_4Cell">294dp</dimen>
res / values-v14 / dimens.xml(4.0 +)
<dimen name="AppWidget_1Cell">40dp</dimen>
<dimen name="AppWidget_4Cell">250dp</dimen>
这是一个错误吗?如果是这样的话,那么解决这个问题的方法是什么?我这样做是为了遵循冰淇淋三明治的新小部件布局尺寸的建议。
答案 0 :(得分:3)
我刚刚尝试过这种情况,并且在Android 1.6中也发生了这种情况。 快速修复是创建不同的 xml 文件夹(一个用于Android 1.6,另一个用于其他版本)。所以,你可以:
xml-v4 (适用于Android 1.6),包含尺寸为数值的文字
xml-v5 (其余部分),包含维度@dimen /.../ p>
或者,你可以:
xml (适用于Android 1.6 - 3.2),包含尺寸为数值的文字
xml-v14 (适用于Android 4),包含新尺寸
有什么不好的是你必须复制你的appwidget提供者xml文件,但至少它是有效的
干杯, Yuvi