Android中的selector是一种资源类型,用于定义一组不同状态下的布局样式,它通常与ImageView、Button等控件一起使用,以便在用户与控件交互时改变其外观,selector的基本用法如下:
(图片来源网络,侵删)1、创建selector文件
在项目的res/drawable目录下创建一个XML文件,例如button_selector.xml,在这个文件中,我们将定义不同状态下的布局样式。
<?xml version="1.0" encoding="utf8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!默认状态 > <item android:state_pressed="false" android:state_selected="false"> <shape> <solid android:color="#FF4081" /> <corners android:radius="5dp" /> </shape> </item> <!按下状态 > <item android:state_pressed="true"> <shape> <solid android:color="#3F51B5" /> <corners android:radius="5dp" /> </shape> </item> <!选中状态 > <item android:state_selected="true"> <shape> <solid android:color="#9C27B0" /> <corners android:radius="5dp" /> </shape> </item> </selector>
2、将selector应用到控件上
在布局文件中,为需要使用selector的控件设置背景属性,引用刚刚创建的selector文件,为一个Button设置背景:
<Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="点击我" android:background="@drawable/button_selector" />
3、监听控件状态变化并更新selector
为了在用户与控件交互时更新selector,我们需要在代码中监听控件的状态变化,为上面的Button添加点击事件监听器:
Button button = findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 切换按钮状态(选中或未选中) button.setSelected(!button.isSelected()); } });
这样,当用户点击按钮时,按钮的背景颜色会根据其当前状态(选中或未选中)自动切换。
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。