如何在 Android 中更改单选按钮的文本颜色?

4

我想改变单选按钮的文本颜色。我尝试过,但文本颜色没有改变。如何改变单选按钮的文本颜色?有人能给我一个想法如何改变颜色。感谢您的赞赏。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@android:color/white"
    android:padding="5dp" >

    <ImageView
        android:id="@+id/logoKartavya"
        android:layout_width="150dp"
        android:layout_height="40dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:contentDescription="@string/desc"
        android:src="@drawable/logo" />

    <TableLayout
        android:id="@+id/quizLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/logoKartavya" >

        <TextView
            android:id="@+id/questionTopic"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:clickable="false"
            android:gravity="center"
            android:textColor="@android:color/black"
            android:textSize="18sp"
            android:textStyle="normal|bold" />

        <EditText
            android:id="@+id/question"
            android:layout_height="wrap_content"
            android:clickable="false"
            android:cursorVisible="false"
            android:editable="false"
            android:lines="3" >

            <requestFocus />
        </EditText>

        <RadioGroup
            android:id="@+id/answers"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp" >

            <RadioButton
                android:id="@+id/a0"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="RadioButton"
                android:textColor="@android:color/black" />

            <RadioButton
                android:id="@+id/a1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="RadioButton"
                android:textColor="@android:color/black" />

            <RadioButton
                android:id="@+id/a2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="RadioButton"
                android:textColor="@android:color/black" />

            <RadioButton
                android:id="@+id/a3"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="RadioButton"
                android:textColor="@android:color/black" />
        </RadioGroup>
    </TableLayout>

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/Prev"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="0.21"
            android:text="&lt;&lt;" />

        <Button
            android:id="@+id/finish"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="0.18"
            android:text="Finish" />

        <Button
            android:id="@+id/Next"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="0.23"
            android:text=">>" />
    </LinearLayout>

</RelativeLayout>

你的意思是当单选按钮被选中时,你想改变颜色吗? - Blaze Tama
@Blaze Tama:不,我只想改变单选按钮的文本颜色。我尝试使用(android:textColor="xxxxx")但它没有改变。为什么??? - anju patel
4个回答

5
android:textColor="@color/base_tabpager_indicator_color"

base_tabpager_indicator_color.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:state_checked="true" android:color="#fffb9749" />
   <item android:color="#ffffffff" />
</selector>

仍然没有改变textColour,单选按钮已经显示但是没有显示RadioButton的文本。 - anju patel

2

根据您的布局,您需要将textColor设置为一个可绘制选择器文件。

该文件将定义state_checkedstate_selected和正常状态。

最初的回答已经给出了解决方案。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:color="@android:color/black" />
    <item android:state_pressed="true" android:color="@android:color/black" />
    <item android:color="@color/colorPrimary" />
</selector>

<Button
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:textColor="@drawable/txt_segmented"/>

1
只需在

标签中放置颜色的十六进制代码即可。

android:textColor="#0000000"

1
简单,只需添加。
android:hint="your text"
android:textColorHint="YourColor"

而不是文本和androidTextColor


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接