Android使用selector改变和文本框文字的颜色

Android使用selector改变radiobutton文字边框的颜色

选中时改变边框颜色selector_sex_border.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:drawable="@drawable/bg_border_check"
        android:state_checked="true">
    </item>
    <item
        android:drawable="@drawable/bg_border_uncheck"
        android:state_checked="false">

    </item>
</selector>

选中时改变字体selector_sex_text.xml

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

 

bg_border_check.xml文件

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <!-- 主体背景颜色值 -->
    <solid android:color="#FFFFFF" />
    <!-- 连框宽度和颜色值 -->
    <stroke
        android:width="0.05dp"
        android:color="@color/C4C4C7" />
    <!--分别设置左上,右上,左下,右下-->
    <corners
        android:bottomLeftRadius="@dimen/dp_5"
        android:bottomRightRadius="@dimen/dp_5"
        android:topLeftRadius="@dimen/dp_5"
        android:topRightRadius="@dimen/dp_5"
        />
</shape>

测试文件

<RadioGroup
    android:id="@+id/sex_rg"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:orientation="horizontal">

    <RadioButton
        android:id="@+id/male_rb"
        android:layout_width="90dp"
        android:layout_height="28dp"
        android:background="@drawable/selector_sex_border"//设置边框选中
        android:button="@null"
        android:gravity="center"
        android:text="男"
        android:textColor="@drawable/selector_sex_text" />//设置字体选中

     <RadioButton
        android:id="@+id/famale_rb"
        android:layout_width="90dp"
        android:layout_height="28dp"
        android:background="@drawable/selector_sex_border"
        android:button="@null"
        android:gravity="center"
       android:text="女"
       android:textColor="@drawable/selector_sex_text" />
</RadioGroup>

效果如下:

效果图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Studio 中使用 Selector 来设置表格的样式是一种常见的做法。你可以通过以下步骤来实现: 1. 首先,在 `res/drawable` 目录下创建一个 XML 文件,例如 `table_selector.xml`,用于定义 Selector 的样式。可以使用 `<selector>` 元素来定义不同状态下的表格样式。 ```xml <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 默认状态 --> <item android:state_pressed="false" android:state_focused="false" android:drawable="@drawable/table_default_background" /> <!-- 按下状态 --> <item android:state_pressed="true" android:drawable="@drawable/table_pressed_background" /> <!-- 获得焦点状态 --> <item android:state_focused="true" android:drawable="@drawable/table_focused_background" /> </selector> ``` 上述代码中,我们定义了三个状态:默认状态(未按下且未获得焦点)、按下状态和获得焦点状态,并分别为每个状态指定了对应的背景资源。 2. 在 `res/drawable` 目录下创建对应的背景资源文件,例如 `table_default_background.xml`、`table_pressed_background.xml` 和 `table_focused_background.xml`。这些文件将定义表格在不同状态下的背景样式。 3. 在布局文件中使用 Selector 来设置表格的背景。例如,如果你使用 `TableLayout`,可以在 XML 中为其指定背景属性: ```xml <TableLayout ... android:background="@drawable/table_selector" ...> ... </TableLayout> ``` 这样,当表格处于不同的状态时,它们将显示不同的背景样式。 以上是使用 Selector 设置表格样式的基本步骤。你可以根据实际需求自定义 Selector 和背景样式,以满足你的设计要求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值