如何为不同版本的Android提供不同的小部件?

如何为不同版本的Android提供不同的小部件?,android,widget,gesture,Android,Widget,Gesture,我有一个应用程序,我想添加一个小部件 我一直在翻文档,看起来只有Android 3.0+支持小部件中基于手势的视图。例如,我可以在4.03的gmail小部件上滚动我的电子邮件作为列表视图,我还看到了GridView小部件(在4.03上) 因此,这些类型的小部件不能在2.2和2.3中使用 有没有办法让我的应用程序为4.0提供一个可手势的小部件,如果用户有2.3,它将加载不同的小部件 我在编写这两个小部件时没有问题,这两个小部件都可以工作——我只希望2.2版本的用户使用我的2.2小部件,3.0+版本

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

我一直在翻文档,看起来只有Android 3.0+支持小部件中基于手势的视图。例如,我可以在4.03的gmail小部件上滚动我的电子邮件作为列表视图,我还看到了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
}
if(Build.VERSION
您可以在构建时检查android版本,并确定设备上运行的是哪个版本,相应地,您的应用程序应该使用哪个小部件。是的,我私下希望这不是唯一的方法,但这会起作用。如果安卓在运行时能够获取最佳匹配资源,为什么我必须检查代码?确保演示者逻辑具有正确的视图?完全正确。如果小部件明显不同,则布局可能具有不同的元素,并且处理程序逻辑可能不同。这取决于你的代码。您可能只需要两个不同的布局就可以成功。是的,我正在考虑尝试使
id
值在布局中匹配,我可以避免这种情况。无论如何谢谢你!