我想知道是否可以在Android应用程序中使用优雅降级方法。即,使用API 15的某些功能,但如果不支持,则使用API 10。
具体来说,我在Android 4中使用“滑动标签”而不是Android 2.x中缺少对此功能的支持(因此使用普通标签),但问题相当笼统。
我想在支持它的设备上使用高级功能但是当它不受支持时,我想使用替代方案。我似乎无法在Android 2项目中使用Android 4库,而Android 4项目将无法在Android 2设备上启动。
任何解决方案?或者,至少在目前,Android 2上的“滑动标签”的解决方案是什么?
答案 0 :(得分:5)
第1部分:为了能够为更新的API使用功能,请确保您的清单将android:minSdkVersion声明为最低版本(在您的情况下为10),但将android:targetSdkVersion设置为带有API的较新版本想用(15)。在您的代码中,您可以执行类似
的操作if ( Build.VERSION.SDK_INT > Build.VERSION_CODES.ICE_CREAM_SANDWICH ) {
// Use the new APIs
} else {
// Use the old APIs
}
您必须添加注释以指示新的API使用情况。
第2部分:滑动选项卡 - 我使用了Jake Wharton的ViewPagerIndicator和Android支持库中的ViewPager功能来实现滑动选项卡。这很简单。 ViewPagerIndicator页面上有更多信息
希望这有帮助。
答案 1 :(得分:1)
确保在类或函数上方使用@TargetApi指令 仅适用于较新版本的API。例如
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
void foo() {
/* function called only on ice cream sandwich (API level 14) and greater */
}
答案 2 :(得分:1)
我知道你已经标记了你的答案,但是maby this可以帮助你,它是一个名为actionbar sherlock的android库,它将4.x功能向后移植到2.x.包括片段,寻呼机,标签和3.0中引入的Actionbar