Rob*_*Rob 15 api android android-switch
由于以下错误,我无法在我的项目中插入Switch:
查看需要API级别14(当前最小值为8):
但在我的项目属性中,我使用的是Platform 4.1和API Level 16.那么出了什么问题?
suo*_*i35 74
谷歌IO 2012有一个很好的讲座(从幻灯片32开始)
这是一个详细的例子:
通过将其放在/ res/layout-v14中为ICS +版本创建单独的布局XML文件.生成的文件结构如下所示:
res/layout
- mainlayout.xml
- compound_button.xml
res/layout-v14
- compound_button.xml
Run Code Online (Sandbox Code Playgroud)
当您的应用程序在v14或更高版本上运行时,Android将在layout-v14目录中查找资源.
在mainlayout.xml中放置一个include,它将在运行应用程序时引入相关的compound_button.xml:
<include layout="@layout/compound_button" />
Run Code Online (Sandbox Code Playgroud)
对于4.0之前的布局,我们需要一个复选框,因此将/layout/compound_button.xml创建为合并,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" >
<CheckBox
android:id="@+id/enabled"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Enable" />
</merge>
Run Code Online (Sandbox Code Playgroud)
然后对于4.0+布局我们想要一个开关,所以创建/layout-v14/compound_button.xml作为合并,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" >
<Switch
android:id="@+id/enabled"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Enable"
tools:ignore="NewApi" />
</merge>
Run Code Online (Sandbox Code Playgroud)
当然,一定要适当地设置你的最小值和目标:
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="14" />
Run Code Online (Sandbox Code Playgroud)
在AndroidManifest.xml文件中查找:
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16"/>
Run Code Online (Sandbox Code Playgroud)
将minSdkVersion更改为14.
| 归档时间: |
|
| 查看次数: |
18960 次 |
| 最近记录: |