0

我想将新的 UI 元素(如 Switch)用于新的 Android 设备,而在旧设备上我会使用其他东西,如 Button。

我已经创建了布局

~/res/
   layout/main.xml
   layout-v14/main.xml

具有不同的元素,例如 Button inlayout/main.xml和 Switch inlayout-v14/main.xml

但是我怎样才能在 Activity 中添加不同的元素,而不会得到 Exception 之类的

Could not find class 'android.widget.Switch' ... 
4

3 回答 3

1

您可以参考Build.VERSION.SDK_INT在运行时检查设备的 API 级别。这样,您可以在 Java 类中添加条件代码,这些代码将根据用户的 API 级别改变其行为,如下所示:

if ( Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH ) {
  // Some code that requires API level 14+
} else {
  // Code that will run on lower API levels instead
}
于 2013-01-21T23:34:06.657 回答
1

因为Switch您可以尝试使用该SwitchCompat库,以使其向后兼容。

于 2013-01-21T23:45:19.077 回答
1

为此,您通常在项目依赖项中包含支持库。(http://developer.android.com/tools/extras/support-library.html)

然后,您可以在旧设备上使用新对象(例如 Fragments)。

不幸的是,Switch不在其中……

于 2013-01-21T23:54:05.363 回答