android - 如何为不同版本的 Android 设置不同的小部件?

标签 android widget gesture

我有一个应用程序,我想添加一个小部件。

我一直在研究文档,看起来只有 Android 3.0+ 支持小部件中基于手势的 View 。例如,我可以在 4.03 上的 gmail 小部件上滚动我的电子邮件作为 listView,我还看到了一个 GridView 小部件(在 4.03 上)。

因此,这些类型的小部件不能在 2.2 和 2.3 中使用

有什么方法可以让我的应用程序为 4.0 提供一个可手势控制的小部件,如果用户使用的是 2.3,它将加载一个不同的小部件?

我编写两个小部件都没有问题,它们都可以工作——我只希望 2.2 的用户使用我的 2.2 小部件,而 3.0+ 的用户使用我的 3.0+ 小部件。

这可以从一个应用程序实现吗?

谢谢!

最佳答案

android 有资源和代码工具来切换版本。不,没有什么比向小部件的 XML 添加版本号更高级了。

对于布局和其他资源,您可以将资源文件夹命名为,

res/values-v11
res/layout-v11

等android 会在运行时拉取最匹配的资源。代码中可以查看SDK版本,

if (Build.VERSION < Build.VERSION_CODES.HONEYCOMB) {
  // handle android 2 here
}

关于android - 如何为不同版本的 Android 设置不同的小部件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11401555/

相关文章:

java - GestureBuilder 无法保存重命名的手势

cocoa - 识别手势的简单方法

android - Recyclerview item点击波纹效果

java - NoClassDefFoundError : . .. 将 Robolectric 与 Android 库 (AAR) 结合使用时 R$styleable

java - 如何创建可轻松插入现有项目而无需重新编译的 gwt 插件?

flutter - 如何点击并将调试文本更改为开发右上角的红色调试横幅?

android - 我无法使用 Windows 10 在 Android Studio 中获取 SHA1 指纹

php - android中的asyncTask用于从MySQL数据库检索数据

android - 如何从android中的小部件打开外部应用程序?

android - 触摸屏手势列表和名称