Android AppWidget在使用dimen资源时没有更多空间

时间:2011-12-18 19:55:03

标签: android widget android-appwidget homescreen dimension

我为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>

这是一个错误吗?如果是这样的话,那么解决这个问题的方法是什么?我这样做是为了遵循冰淇淋三明治的新小部件布局尺寸的建议。

1 个答案:

答案 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文件,但至少它是有效的

嗯......我正在考虑放弃对Android 1.6的支持.....(现在是1.3%......)。

干杯, Yuvi

http://www.droidahead.com