Android 3.1中可调整大小的appwidgets

Str*_*ing 9 xml user-interface android widget

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

我不是appwidget新手,添加没有问题

android:resizeMode="horizontal|vertical"
Run Code Online (Sandbox Code Playgroud)

到我的appwidget定义XML.并且它可以工作,小部件名义上可以调整大小(长按它和句柄出现,让我将边框拖动到不同的大小).

但有两个问题:

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

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

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

IKa*_*agh 1

我非常确定没有办法获得低于 API 16 的小部件的大小,并且当小部件调整到低于 API 16 的大小时没有意图广播。

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