android - 根据 Android 版本从选择列表中隐藏 AppWidget

标签 android android-appwidget

我编写了一个 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/v11true

第 3 步:在 list 中的 <provider> 中Honeycomb 应用程序小部件的元素,使用 android:enabled=@bool/v11 .

Net:您的应用小部件仅在 API 级别 11 及更高版本上启用。

关于android - 根据 Android 版本从选择列表中隐藏 AppWidget,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9934081/

相关文章:

android - 在Android中使用JLayer和Audiotrack播放由lame mp3压缩的mp3数据

android - 微调器位置和共享首选项

Android AppWidget onUpdate 开机

android - 从 RemoteViews 查看实例

java - 是否可以在 appWidget 中重用 RemoteView 而不是每次都创建新的?我该如何存储它们?

android - 如何从非默认应用程序在 Android Kitkat 中发送短信而不写入短信提供商

android - 使用单例与 Android 服务对话

android - 英语而不是 Geocoder 的本地语言

java - native map 未显示在代号为 1 的 Android 设备的分层布局中

android - 如何根据应用程序小部件中 TextView 中的小部件大小调整文本大小?