Android - 单选按钮 - Lollipop上不显示按钮可绘制

时间:2016-05-05 08:47:41

标签: android xml android-layout radio-button

我正在为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的模拟器上正确显示。

我的所有资源当前都在默认目录中。

0 个答案:

没有答案