安卓selector使用方法

本文深入讲解安卓开发中选择器的使用规则,包括多种状态如pressed、focused、hovered等,并通过实例展示如何利用选择器修改控件背景及字体颜色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在安卓开发中很多地方都会用到selector选择器,下面总结以下使用规则:

1.选择器中一些常用状态:

android:state_press是否按下,如一个按钮触摸或者反击
android:state_focused是否取得焦点,比如用户选择了一个文本框
android:state_hovered光标是否悬停,通常与focused state相同,它是4.0的新特性
android:state_selected被选中,它与focus state并不完全一样,如一个listView被选中的时候,他里面的各个子控件,可能通过方向键,被选中了。
android:state_checkable 组件是否能够被check.如RadioButton是可以被checkd的
android:state_checked被checked了,如:一个RadioButton,CheckTextView,CheckImageView
android:state_enable 能够接受触摸或者点击事件
android:state_activated 被激活
android:state_window_focused 应用程序是否在前台,当有通知栏被拉下来或者一个对话框弹出的时候应用程序就不在前台了,有的需要加android:focusable和android:clickable为true才能获取焦点

 

举个栗子,下面是CheckedTextView的使用:

一:修改背景图片

selector.xml文件

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

 

主布局文件:

<CheckedTextView
                android:id="@+id/imageView_shop"
                android:layout_width="40dp"
                android:layout_height="40dp"
                android:background="@drawable/shopindex"
                />

 

有了这两个文件,就可以在java代码中进行控制,调用setChecked()方法,设置true或false,从而进行选择。

Java代码:

textView_main.setChecked(false);
textView_shop.setChecked(true);
textView_me.setChecked(false);

当设置为ture时,就相当于使用图片a,设置为false时,相当于使用图片b。

 

 

二:修改字体颜色(与修改背景图片基本一样,只是selector.xml有个地方需要修改)

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:color="#0000FF"/>
    <item android:state_checked="false" android:color="#D8DDE1"/>
</selector>

原来item中为android:drawable,加载的是图片资源,那么如果是颜色的话,就应该使用android:color

 

效果图:

 

 

### VB.NET 中 RadioButton 的 Checked 属性使用方法 在 VB.NET 中,`RadioButton` 控件的 `Checked` 属性用于表示该单选按钮是否被选中。当某个 `RadioButton` 被设置为已选中状态时,其所属组内的其他 `RadioButton` 将自动取消选中状态[^1]。 以下是关于如何使用 `Checked` 属性的一个完整示例: #### 示例代码 ```vb.net ' 定义模式变量 Dim pattern As String = "" ' 单选按钮事件处理程序 Private Sub RadioButton1_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton1.CheckedChanged If RadioButton1.Checked = True Then pattern = ".*" + searchText + ".*" End If End Sub Private Sub RadioButton2_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton2.CheckedChanged If RadioButton2.Checked = True Then pattern = "^(?!.*" + searchText + ").*$" End If End Sub Private Sub RadioButton3_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton3.CheckedChanged If RadioButton3.Checked = True Then pattern = "^" + searchText End If End Sub Private Sub RadioButton4_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton4.CheckedChanged If RadioButton4.Checked = True Then pattern = searchText + "$" End If End Sub ``` 上述代码展示了四个不同的 `RadioButton` 对象及其对应的逻辑行为。每当其中一个 `RadioButton` 的状态发生变化时(即触发 `CheckedChanged` 事件),都会检查当对象的 `Checked` 属性并更新全局变量 `pattern` 的值[^2]。 #### 关于窗体编程中的公共控件 除了 `RadioButton` 外,在窗体编程中还经常涉及其他常用控件,例如 `Button`、`Label` 和 `TextBox` 等。这些控件可以与 `CheckBox` 或者 `RadioButton` 配合实现复杂的交互功能[^3]。 例如,下面是一个简单的消息框显示操作: ```vb.net Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click MessageBox.Show("这是一个快捷键测试") End Sub ``` 此部分代码定义了一个按钮点击事件处理器,当用户按下指定按钮时会弹出提示对话框。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值