【问题标题】:Android AppWidget No More Room when using dimen resource使用dimen资源时Android AppWidget No More Room
【发布时间】:2012-02-07 01:08:23
【问题描述】:

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

这是一个错误吗?如果是,有什么办法解决这个问题?我这样做是为了遵循 Ice Cream Sandwich 的新小部件布局尺寸的建议。

【问题讨论】:

  • 这似乎是 2.1 及更低版本中的错误。在我的 4x3 appwidget 中找到了 LogCat AppWidgetProviderInfo.minWidth = 8324608 和 minHeight = 18499130

标签: android widget android-appwidget homescreen dimension


【解决方案1】:

我刚刚尝试过,Android 1.6 也发生了这种情况。 一个快速的解决方法是创建不同的 xml 文件夹(一个用于 Android 1.6,一个用于其他版本)。所以,你可以:

xml-v4(适用于 Android 1.6),包含作为数值的维度
xml-v5(适用于其余部分),包含作为 @dimen/ 的维度。 .

或者,您可以:

xml(适用于 Android 1.6 - 3.2),包含作为数值的维度
xml-v14(适用于 Android 4),包含新维度

不好的是你必须复制你的 appwidget 提供者 xml 文件,但至少它可以工作。

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

干杯, 尤维

http://www.droidahead.com

【讨论】:

  • 这是我在项目中所做的一种解决方法。这是一个解决方案,但我唯一的区别是尺寸。这很烦人。
  • 这个问题在 2.1-update1 上也存在。我不认为这只是 1.6 的问题。
  • @dpcbabu 是的,这是真的。因此,第二种解决方案效果更好(即,Android 1.6-3.2 使用 xml,Android 4 使用 xml-v14)
  • 确认在 Froyo 模拟器上运行我的应用小部件(在 minWidth 和 minHeight 中使用 @dimens),它工作正常。问题似乎出现在 2.1 及更低版本中
猜你喜欢
  • 2011-12-11
  • 2013-07-24
  • 2023-01-20
  • 2021-09-30
  • 2020-11-24
  • 2015-10-14
  • 2020-04-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多