我编写了一个 Android 应用程序,其中包含两个主屏幕小部件:一个“经典”小部件,它使用自 Android 1.6 以来可用的功能;另一个“新样式”小部件,它使用 Honeycomb 及更高版本的功能来提供手势支持(StackView 样式) .
问题:在 3.0 之前的 Android 版本中,如何在 Widget-Selection 对话框中隐藏 Honeycomb-Widget?目前,当小部件添加到主屏幕时,我遇到了这个问题,但如果小部件根本不可用,那就更好了。
我想到的唯一解决方案:在 Android Market 上提供两个不同的 APK,一个包含适用于 Android>=3.0 的两个小部件,另一个仅包含适用于 <3.0 的经典小部件。但这会带来额外的维护,我想避免这种情况。
最佳答案
One "classic" widget which uses features which were available since Android 1.6
我喜欢将其视为“复古”。 :-)
How can I hide the Honeycomb-Widget from the Widget-Selection Dialog in Android Version before 3.0?
啊,有一个可爱的技巧,有人在推文中指出过:
第 1 步:创建 res/values/bool.xml
并定义 @bool/v11
资源为false
第 2 步:创建 res/values-v11/bool.xml
并定义@bool/v11
有true
第 3 步:在 list 中的 <provider>
中Honeycomb 应用程序小部件的元素,使用 android:enabled=@bool/v11
.
Net:您的应用小部件仅在 API 级别 11 及更高版本上启用。
关于android - 根据 Android 版本从选择列表中隐藏 AppWidget,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9934081/