【发布时间】:2014-05-06 15:01:15
【问题描述】:
我目前正在使用Switch Widget,它应该是在 API 14 中出现的。我的项目设置为 15 的最小 API。我正在尝试更改 Switch 小部件轨道 OnCheckedChanged 的背景
但我收到一个错误,即 setTrackResource 需要至少 16 个 API。我起初以为我只需要更新我的支持库,但它在 v13 上
我不想@supress 这个警告?有办法解决吗?
cameraTypeSwitch = (Switch) findViewById(R.id.cameraTypeSwitch);
cameraTypeSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
if (buttonView.isChecked()){
cameraTypeSwitch.setTrackResource(R.drawable.camera_track_camera);
}
else{
cameraTypeSwitch.setTrackResource(R.drawable.camera_track_video);
}
}
});
我尝试将可绘制的轨道设置为处于选中状态,如下所示:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@null" android:state_enabled="false"/>
<item android:drawable="@drawable/camera_track_camera" android:state_checked="true"/>
<item android:drawable="@drawable/camera_track_video" android:state_checked="false"/>
</selector>
但这似乎不起作用..无论如何可以动态更改 API 15 中的轨道背景
【问题讨论】:
-
您的 API 构建目标是什么?至少应为 16。
标签: android android-support-library android-switch