我目前正在使用据称在 API 14 中出现的Switch Widget。我的项目设置为 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 中的轨道背景