手记

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" />

原文链接:CSDN

0人推荐
随时随地看视频
慕课网APP