Android 3.1中可调整大小的appwidgets

时间:2011-06-22 10:43:24

标签: android xml user-interface widget

我很高兴看到对可调整大小的应用程序的支持随Android 3.1一起提供,但我对如何使它们实际工作感到困惑。

我不是appwidget新手,添加

没问题
android:resizeMode="horizontal|vertical"

到我的appwidget定义XML。这样就可以了,小部件在名义上可以调整大小(长按它并显示句柄,让我将边框拖动到不同的大小)。

但有两个问题:

首先,在调整小部件大小时,似乎没有调用我的代码。我的onReceive()处理程序中设置的断点永远不会被击中。

其次,假设我可以进入我的代码,我无法在文档中的任何位置看到获取窗口小部件的当前大小。我已经使用了对AppWidgetProviderInfo.minWidth.minHeight的调用,但这些调用仅反映了XML中给出的最小维度,它们在运行时不会更改。

那么,人们如何实际实现可调整大小的小部件呢?

1 个答案:

答案 0 :(得分:1)

我很确定无法在API 16下面获得小部件的大小,并且在小部件API的大小调整后,没有意图广播。

从API 16开始,添加了AppWidgetOptionsChanged(),并在调整窗口小部件大小时调用它,并且可以从传递给它的Bundle中检索窗口小部件的大小。