我正在为Android 5及以上版本编写应用程序,在一个屏幕上我需要显示一个带有几个单选按钮的无线电组,但是按钮drawable(xml drawable)没有显示在android 5上但是在android 6上按预期工作。
这是我的活动布局:
<?xml version="1.0" encoding="utf-8"?>
<RadioGroup xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@drawable/radio_button_selector"
android:text="1" />
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@drawable/radio_button_selector"
android:text="1" />
</RadioGroup>
radio_button_selector.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="@drawable/radio_button_selected" />
<item android:drawable="@drawable/radio_button_unselected" />
</selector>
和radio_button_selected.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<size
android:width="15dp"
android:height="15dp" />
<solid android:color="#643023" />
</shape>
我的活动:
public class Test extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
}
}
我在仿真器级别21和LG Leon 4G LTE(android 5,hdpi)上重现了这个问题。 drawable正在Nexus 5(android 6.0.1,xxhdpi)和Android 6的模拟器上正确显示。
我的所有资源当前都在默认目录中。