我很高兴看到对可调整大小的应用程序的支持随Android 3.1一起提供,但我对如何使它们实际工作感到困惑。
我不是appwidget新手,添加
没问题android:resizeMode="horizontal|vertical"
到我的appwidget定义XML。这样就可以了,小部件在名义上可以调整大小(长按它并显示句柄,让我将边框拖动到不同的大小)。
但有两个问题:
首先,在调整小部件大小时,似乎没有调用我的代码。我的onReceive()
处理程序中设置的断点永远不会被击中。
其次,假设我可以进入我的代码,我无法在文档中的任何位置看到获取窗口小部件的当前大小。我已经使用了对AppWidgetProviderInfo.minWidth
和.minHeight
的调用,但这些调用仅反映了XML中给出的最小维度,它们在运行时不会更改。
那么,人们如何实际实现可调整大小的小部件呢?
答案 0 :(得分:1)
我很确定无法在API 16下面获得小部件的大小,并且在小部件API的大小调整后,没有意图广播。
从API 16开始,添加了AppWidgetOptionsChanged(),并在调整窗口小部件大小时调用它,并且可以从传递给它的Bundle中检索窗口小部件的大小。