Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当我更改单选按钮样式xml时,更改不会反映_Android_Xml - Fatal编程技术网

Android 当我更改单选按钮样式xml时,更改不会反映

Android 当我更改单选按钮样式xml时,更改不会反映,android,xml,Android,Xml,我正在尝试制作定制的单选按钮。找到了一篇看起来很棒的文章(),但当我尝试做这里所说的事情时,它根本没有更新。基本主题会阻止我制作自定义单选按钮吗?我的代码如下: 布局xml <RadioGroup android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_cent

我正在尝试制作定制的单选按钮。找到了一篇看起来很棒的文章(),但当我尝试做这里所说的事情时,它根本没有更新。基本主题会阻止我制作自定义单选按钮吗?我的代码如下:

布局xml

    <RadioGroup
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:id="@+id/radioGroup"
    android:background="@drawable/country_select_radio_button">

    <RadioButton
        android:id="@+id/ke_radio"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/SouthAfrica"
        android:layout_alignStart="@+id/SouthAfrica"
        android:layout_alignTop="@+id/SouthAfrica"
        android:layout_marginTop="35dp"
        android:background="@drawable/country_select_radio_button"
        android:text="Kenya"
        android:layout_gravity="center_horizontal"
        android:checked="false" />

    <RadioButton
        android:id="@+id/za_radio"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/btn_za"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="125dp"
        android:text="South Africa"
        android:checked="true"
        android:layout_gravity="center_horizontal" />

</RadioGroup>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:drawable="@drawable/b"
    android:state_checked="true"
    android:state_pressed="true" />
<item
    android:drawable="@drawable/a"
    android:state_pressed="true" />
<item
    android:drawable="@drawable/a"
    android:state_checked="true" />
<item
    android:drawable="@drawable/b" />
<selector
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners
    android:radius="5dp" />
<solid
    android:color="#fff" />
<stroke
    android:width="2dp"
    android:color="#FF0000" />
<selector
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners
    android:radius="5dp" />
<solid
    android:color="#FF0000" />
<stroke
    android:width="2dp"
    android:color="#555555" />

按钮样式xml

    <RadioGroup
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:id="@+id/radioGroup"
    android:background="@drawable/country_select_radio_button">

    <RadioButton
        android:id="@+id/ke_radio"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/SouthAfrica"
        android:layout_alignStart="@+id/SouthAfrica"
        android:layout_alignTop="@+id/SouthAfrica"
        android:layout_marginTop="35dp"
        android:background="@drawable/country_select_radio_button"
        android:text="Kenya"
        android:layout_gravity="center_horizontal"
        android:checked="false" />

    <RadioButton
        android:id="@+id/za_radio"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/btn_za"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="125dp"
        android:text="South Africa"
        android:checked="true"
        android:layout_gravity="center_horizontal" />

</RadioGroup>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:drawable="@drawable/b"
    android:state_checked="true"
    android:state_pressed="true" />
<item
    android:drawable="@drawable/a"
    android:state_pressed="true" />
<item
    android:drawable="@drawable/a"
    android:state_checked="true" />
<item
    android:drawable="@drawable/b" />
<selector
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners
    android:radius="5dp" />
<solid
    android:color="#fff" />
<stroke
    android:width="2dp"
    android:color="#FF0000" />
<selector
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners
    android:radius="5dp" />
<solid
    android:color="#FF0000" />
<stroke
    android:width="2dp"
    android:color="#555555" />

a.xml

    <RadioGroup
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:id="@+id/radioGroup"
    android:background="@drawable/country_select_radio_button">

    <RadioButton
        android:id="@+id/ke_radio"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/SouthAfrica"
        android:layout_alignStart="@+id/SouthAfrica"
        android:layout_alignTop="@+id/SouthAfrica"
        android:layout_marginTop="35dp"
        android:background="@drawable/country_select_radio_button"
        android:text="Kenya"
        android:layout_gravity="center_horizontal"
        android:checked="false" />

    <RadioButton
        android:id="@+id/za_radio"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/btn_za"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="125dp"
        android:text="South Africa"
        android:checked="true"
        android:layout_gravity="center_horizontal" />

</RadioGroup>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:drawable="@drawable/b"
    android:state_checked="true"
    android:state_pressed="true" />
<item
    android:drawable="@drawable/a"
    android:state_pressed="true" />
<item
    android:drawable="@drawable/a"
    android:state_checked="true" />
<item
    android:drawable="@drawable/b" />
<selector
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners
    android:radius="5dp" />
<solid
    android:color="#fff" />
<stroke
    android:width="2dp"
    android:color="#FF0000" />
<selector
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners
    android:radius="5dp" />
<solid
    android:color="#FF0000" />
<stroke
    android:width="2dp"
    android:color="#555555" />

b.xml

    <RadioGroup
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:id="@+id/radioGroup"
    android:background="@drawable/country_select_radio_button">

    <RadioButton
        android:id="@+id/ke_radio"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/SouthAfrica"
        android:layout_alignStart="@+id/SouthAfrica"
        android:layout_alignTop="@+id/SouthAfrica"
        android:layout_marginTop="35dp"
        android:background="@drawable/country_select_radio_button"
        android:text="Kenya"
        android:layout_gravity="center_horizontal"
        android:checked="false" />

    <RadioButton
        android:id="@+id/za_radio"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/btn_za"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="125dp"
        android:text="South Africa"
        android:checked="true"
        android:layout_gravity="center_horizontal" />

</RadioGroup>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:drawable="@drawable/b"
    android:state_checked="true"
    android:state_pressed="true" />
<item
    android:drawable="@drawable/a"
    android:state_pressed="true" />
<item
    android:drawable="@drawable/a"
    android:state_checked="true" />
<item
    android:drawable="@drawable/b" />
<selector
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners
    android:radius="5dp" />
<solid
    android:color="#fff" />
<stroke
    android:width="2dp"
    android:color="#FF0000" />
<selector
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners
    android:radius="5dp" />
<solid
    android:color="#FF0000" />
<stroke
    android:width="2dp"
    android:color="#555555" />

无论我更改什么,按钮的样式都将保持默认值


我做错了什么?

您需要在xml中设置android按钮属性

                <RadioButton
                    android:id="@+id/ke_radio"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:button="@drawable/radio_button_selector"
                    android:padding="@dimen/text_padding"
                    android:paddingLeft="10dp"
                  />

当单选按钮选择器是单选按钮的自定义xml文件时

请使用下面的选择器xml文件

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:drawable="@drawable/radiobutton1" android:state_checked="false"/>
<item android:drawable="@drawable/radiobutton2" android:state_checked="true"/>
<item android:drawable="@drawable/radiobutton1"/>

</selector>


将两张图片分别作为radiobutton1和radiobutton2进行测试

当我将android:background更改为android:button时,它完全删除了所有格式,只是文本?当它在android:background上时,它至少看起来像一个单选按钮。请参阅,为了自定义单选按钮,您需要使用android按钮属性。您不能使用background属性来控制单选按钮的状态。它将仅作为背景图像执行。此错误可能是由于您的自定义样式文件造成的