我正在创建一个小部件,我希望能够让用户在配置活动期间在菜单中选择小部件的大小。我的问题是在appwidget-provider元数据xml中,在已经输入配置活动之前已经设置了块大小。我需要能够重置小部件的信息,其中包含块大小(minHeight,minWidth),而不必添加不同大小的单独小部件。有什么想法吗?
答案 0 :(得分:4)
你不能这样做。这是一个Android限制。创建几个不同大小的小部件,命名为“YourWidget(small)”,“YourWidget(large)”等。或者“YourWidget 1x1”和“YourWidget 2x1”。你需要几个几乎相同的appwidget-provider xml ...
因为你还需要几乎相同的提供者和配置类,所以在那里定义一个包含所有需要代码的基类,然后继承它们,如下所示:
公共类WidgetProvider2x1扩展WidgetProvider { @覆盖 int getWidgetStyle(){ return WidgetProvider.WIDGET_STYLE_2x1; }}
当你需要知道小部件的大小时,在基类中调用getWidgetStyle()。