Android状态check、focused、pressed、selected小结

Android状态check、focused、pressed、selected小结

        在Android有些组件需要设置状态或判断状态,我们需要知道这些状态代表的意义。主要应用是在资源文件的使用。

一.在资源文件中常见状态代表的意义

(一)android:drawable

这个属性是必须的,为当前控件指定资源。

(二)android:state_pressed

布尔值。true指当用户点击或者触摸该控件的状态。默认为false;一般用于设置按钮颜色/图片的设置。

(三)android:state_focused

布尔值。ture指当前控件获得焦点时的状态。默认为false;一般用于EdiText。

(四)android:state_hovered

布尔值。true表示光标移动到当前控件上的状态。默认为false;光标是否悬停,通常与state_focused 相同,它是4.0的新特性,一般用于EdiText。

(五)android:state_selected

布尔值。true表示被选择的状态,例如在一个下拉列表中用方向键下选择其中一个选项。
这个和focus的区别,selected是focus不充分的情况。比如一个listview获得焦点(focus),而用方向键选择了其中的一个item(selected)

(六)android:state_checkable

布尔值。ture表示可以被勾选的状态。这个仅在当控件具有被勾选和不被勾选的状态间转换时才起作用。

(七)android:state_checked

布尔值。true表示当前控件处于被勾选(check的状态)

(八)android:state_enabled

布尔值。true表示当前控件出于可用的状态。比如可以被点击

(九)android:state_activated

布尔值。true表示当前控件被激活的状态。
android:state_window_focused
布尔值。true表示当前控件出于最前端时,应用窗口获得焦点的状态。
z

二.代码示例

(一)设置按钮在不同状态的改变

1.drawable资源文件

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:state_enabled="true" android:state_window_focused="false"
          android:drawable="@drawable/button_pressed" /> <!-- pressed,enable等多个属性 -->
    <item android:state_focused="true"
          android:drawable="@drawable/button_focused" /> <!-- focused -->
    <item android:state_hovered="true"
          android:drawable="@drawable/button_focused" /> <!-- hovered -->
    <item android:drawable="@drawable/button_normal" /> <!-- default --></selector>

2.资源文件的设置

<Button
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:background="@drawable/button" />

下面几篇是我之前些的博客:

(二)自定义背景设置示例:

http://blog.csdn.net/wenzhi20102321/article/details/52685058

(三)点击效果示例:

http://blog.csdn.net/wenzhi20102321/article/details/52689585?locationNum=3&fps=1

(四)字体颜色选择器示例:

http://blog.csdn.net/wenzhi20102321/article/details/52776356

(五)高级控件之列表选择框(Spinner)有条目的选中,没有资源文件

http://blog.csdn.net/wenzhi20102321/article/details/53573475

  • 18
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

峥嵘life

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

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

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

打赏作者

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

抵扣说明:

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

余额充值