本文共 1790 字,大约阅读时间需要 5 分钟。
一、在Android 开发中控制按钮或者listview 点击效果
1:主要元素 <item> 定义要在某些状态期间使用的可绘制对象,如其属性所述。必须是 <selector> 元素的子项。 属性: (1)android:drawable 可绘制对象资源。必备。引用可绘制对象资源。 (2)android:state_pressed 布尔值。如果在按下对象(例如触摸/点按某按钮)时应使用此项目,则值为“true”;如果在默认的未按下状态时应使用此项目,则值为“false”。 (3)android:state_focused 布尔值。如果在对象具有输入焦点(例如当用户选择文本输入时)时应使用此项目,则值为“true”;如果在默认的非焦点状态时应使用此项目,则值为“false”。 (4)android:state_hovered 布尔值。如果当光标悬停在对象上时应使用此项目,则值为“true”;如果在默认的非悬停状态时应使用此项目,则值为“false”。通常,这个可绘制对象可能与用于“聚焦”状态的可绘制对象相同。 此项为 API 级别 14 新引入的配置。 (5)android:state_selected 布尔值。如果在使用定向控件浏览(例如使用方向键浏览列表)的情况下对象为当前用户选择时应使用此项目,则值为“true”;如果在未选择对象时应使用此项目,则值为“false”。 当焦点 (android:state_focused) 不充分(例如,列表视图有焦点但使用方向键选择其中的项目)时,使用所选状态。 (6)android:state_checkable 布尔值。如果当对象可选中时应使用此项目,则值为“true”;如果当对象不可选中时应使用此项目,则值为“false”。(仅当对象可在可选中与不可选中小部件之间转换时才有用。) (7)android:state_checked 布尔值。如果在对象已选中时应使用此项目,则值为“true”;如果在对象未选中时应使用此项目,则值为“false”。 (8)android:state_enabled 布尔值。如果在对象启用(能够接收触摸/点击事件)时应使用此项目,则值为“true”;如果在对象停用时应使用此项目,则值为“false”。 (9)android:state_activated 布尔值。如果在对象激活作为持续选择(例如,在持续导航视图中“突出显示”之前选中的列表项)时应使用此项目,则值为“true”;如果在对象未激活时应使用此项目,则值为“false”。 此项为 API 级别 11 新引入的配置。 (10)android:state_window_focused 布尔值。如果当应用窗口有焦点(应用在前台)时应使用此项目,则值为“true”;如果当应用窗口没有焦点(例如,通知栏下拉或对话框出现)时应使用此项目,则值为“false”。2、使用步骤
(1)在drawable文件夹下创建xml,初始状态
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> </selector>(2)实例
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/button_pressed" /> <item android:state_focused="true" android:drawable="@drawable/button_focused" /> <item android:state_hovered="true" android:drawable="@drawable/button_focused" /> <item android:drawable="@drawable/button_normal" /> </selector>转载地址:http://nball.baihongyu.com/