Android Selector 的使用

什么是 Selector?

Selector 和 Shape 相似,是Drawable资源的一种,可以根据不同的状态,设置不同的图片效果,关键节点 < selector > ,例如:我们只需要将Button的 background 属性设置为该drawable资源即可轻松实现,按下 按钮时不同的按钮颜色或背景。

 Selector 属性

属性名说明
drawable引用的Drawable位图,我们可以把他放到最前面,就表示组件的 正常状态~
state_focused是否获得焦点
state_window_focused是否获得窗口焦点
state_enabled控件是否可用
state_checkable控件可否被勾选
state_checked控件是否被勾选
state_selected控件是否被选择,针对有滚轮的情况
state_pressed控件是否被按下
state_active控件是否处于活动状态
state_single控件包含多个子控件时,确定是否只显示一个子控件
state_first控件包含多个子控件时,确定第一个子控件是否处于显示状态
state_middle控件包含多个子控件时,确定中间一个子控件是否处于显示状态
state_last控件包含多个子控件时,确定最后一个子控件是否处于显示状态

Selector 的使用

在src-main-res-drawable下,右键 New-Drawable Resource File

会生成一个这样的文件

然后在 itme 子标签中,使用 selector 的属性

然后在我们的 layout 文件中使用 selector,使用效果图如下

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 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
发出的红包

打赏作者

又逢乱世

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值