Android 3.1中可调整大小的应用小部件

9

我很高兴看到 Android 3.1 增加了对可调整大小的应用小部件的支持,但我不知道如何使它们真正起作用。

我不是新手级别的应用小部件开发者,并且添加小部件也没有问题。

android:resizeMode="horizontal|vertical"

将以下内容添加到我的appwidget定义XML中。 这在某种程度上起作用,小部件名义上是可调整大小的(长按小部件并出现处理程序,让我可以将边框拖动到不同的大小)。
但存在两个问题:
首先,当小部件调整大小时,我的代码似乎不会被调用。 在我的onReceive()处理程序中设置断点从未被触发。
其次,假设我能够进入我的代码,我无法在文档中找到获取小部件当前尺寸的任何位置。 我已经使用了对AppWidgetProviderInfo.minWidth和.minHeight的调用,但这些仅反映XML中给定的最小尺寸,它们不会在运行时更改。
那么,如何实际实现可调整大小的小部件?
1个回答

1

我相信在API 16以下没有办法获取小部件的大小,也没有意图广播在小部件在API 16以下调整大小时被触发。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接