Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.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
Java 使用XML drawable设置RadioButton的样式_Java_Android_Xml - Fatal编程技术网

Java 使用XML drawable设置RadioButton的样式

Java 使用XML drawable设置RadioButton的样式,java,android,xml,Java,Android,Xml,我想用一个简单的形状状态选择器来改变RadioButton的指示器。我创建了以下名为moon_radio.XML的XML,并将其放在可绘制的文件夹中 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="true" android:stat

我想用一个简单的形状状态选择器来改变RadioButton的指示器。我创建了以下名为moon_radio.XML的XML,并将其放在
可绘制的
文件夹中

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:state_pressed="false">
        <shape
            android:shape="oval">
            <solid android:color="@color/moon_light_plate" />
        </shape>
    </item>
    <item android:state_checked="false" android:state_pressed="false">
        <shape
            android:shape="oval">
            <stroke
                android:width="2dp"
                android:color="@color/moon_light_plate" />
        </shape>
    </item>
    <item android:state_checked="true" android:state_pressed="true">
        <shape
            android:shape="oval">
            <solid android:color="@color/moon_light_plate_pressed" />
        </shape>
    </item>
    <item android:state_checked="false" android:state_pressed="true">
        <shape
            android:shape="oval">
            <stroke
                android:width="2dp"
                android:color="@color/moon_light_plate_pressed" />
        </shape>
    </item>
</selector>

然后我在布局中的RadioButton上指定
android:button=“@drawable/moon\u radio”
属性。由于某些原因,这不起作用。怎么了

*编辑* 可能我解释的不清楚,但我不想改变背景,我想改变指示器,即默认点

这就是我得到的:

这就是我想要的”


您应该在
RadioButton
android:button
属性中指定该属性。如果该属性正确,您只需添加
android:background=“@android:color/transparent“

您应该在
android:button
中指定该属性,如果
RadioButton
的属性正确,您只需添加
android:background=“@android:color/transparent”

您应该在
android:button
中指定这一点,如果
RadioButton
的属性正确,您只需添加
android:background=“@android:color/transparent”

您应该在
RadioButton
android:button
属性中指定该属性是否正确您只需添加
android:background=“@android:color/transparent”
您需要像下面一样定义
RadioButton
-

<RadioButton
    android:id="@+id/radio0"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/moon_radio"
    android:button="@android:color/transparent"
    android:checked="true"
    android:text="RadioButton1" />


如果您设置
android:button=“@android:color/transparent”
,则设置radioButton背景将符合您的目的

您需要定义如下所示的
单选按钮-

<RadioButton
    android:id="@+id/radio0"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/moon_radio"
    android:button="@android:color/transparent"
    android:checked="true"
    android:text="RadioButton1" />


如果您设置
android:button=“@android:color/transparent”
,则设置radioButton背景将符合您的目的

您需要定义如下所示的
单选按钮-

<RadioButton
    android:id="@+id/radio0"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/moon_radio"
    android:button="@android:color/transparent"
    android:checked="true"
    android:text="RadioButton1" />


如果您设置
android:button=“@android:color/transparent”
,则设置radioButton背景将符合您的目的

您需要定义如下所示的
单选按钮-

<RadioButton
    android:id="@+id/radio0"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/moon_radio"
    android:button="@android:color/transparent"
    android:checked="true"
    android:text="RadioButton1" />


如果您设置
android:button=“@android:color/transparent”
,则设置radioButton背景将符合您的目的

要查看默认RadioButton根据应用程序主题使用了什么,请进入其中一个API的源代码。例如,您可以从SDK管理器安装API 18的“Android SDK源代码”。它将被放置在:

sdk\platforms\android-18\data\res\drawable\
查找btn\u radio.xmlbtn\u radio\u holo\u dark.xmlbtn\u radio\u holo\u light.xml文件。它们有用于不同状态的状态选择器,您可以看到它们使用的png文件

您可以在drawable mdpi\目录中找到这些png文件,以查看它们的外观(如btn\u radio\u on.png

然后,您可以将btn_radio.xml文件复制到您的可绘制目录中,并使其使用不同状态的图像(或可绘制形状)

查看其中一个文件,我认为您的状态是错误的(比如checked=true=pressed=false)。我在默认文件中看不到这一点,除了最后一个刚刚选中=true的文件。它从上到下通过选择器。因此,只有当上面的那些没有被选中时,它才会到达底部


然后,将选择器drawable放在android:button属性中。

要查看默认RadioButton使用了什么,请根据应用程序主题进入其中一个API的源代码。例如,您可以从SDK管理器安装API 18的“Android SDK源代码”。它将被放置在:

sdk\platforms\android-18\data\res\drawable\
查找btn\u radio.xmlbtn\u radio\u holo\u dark.xmlbtn\u radio\u holo\u light.xml文件。它们有用于不同状态的状态选择器,您可以看到它们使用的png文件

您可以在drawable mdpi\目录中找到这些png文件,以查看它们的外观(如btn\u radio\u on.png

然后,您可以将btn_radio.xml文件复制到您的可绘制目录中,并使其使用不同状态的图像(或可绘制形状)

查看其中一个文件,我认为您的状态是错误的(比如checked=true=pressed=false)。我在默认文件中看不到这一点,除了最后一个刚刚选中=true的文件。它从上到下通过选择器。因此,只有当上面的那些没有被选中时,它才会到达底部


然后,将选择器drawable放在android:button属性中。

要查看默认RadioButton使用了什么,请根据应用程序主题进入其中一个API的源代码。例如,您可以从SDK管理器安装API 18的“Android SDK源代码”。它将被放置在:

sdk\platforms\android-18\data\res\drawable\
查找btn\u radio.xmlbtn\u radio\u holo\u dark.xmlbtn\u radio\u holo\u light.xml文件。它们有用于不同状态的状态选择器,您可以看到它们使用的png文件

您可以在drawable mdpi\目录中找到这些png文件,以查看它们的外观(如btn\u radio\u on.png

然后,您可以将btn_radio.xml文件复制到您的可绘制目录中,并使其使用不同状态的图像(或可绘制形状)

查看其中一个文件,我认为您的状态是错误的(比如checked=true=pressed=false)。我在默认文件中看不到这一点,除了最后一个刚刚选中=true的文件。它从上到下通过选择器。因此,只有当上面的那些没有被选中时,它才会到达底部


然后,将选择器drawable放在android:button属性中。

要查看默认RadioButton使用了什么,请根据应用程序主题进入其中一个API的源代码。