Android Selector的item属性_Android中的Selector的用法
2014-09-26 11:09:27  By: shinyuu

<selector> 的根节点必须是<item>、可以包含一个或多个<item>元素

xmlns:android String、必须、定义XML的命名空间、必须是 “http://schemas.android.com/apk/res/android”

下面就来了解一下所有的<item>吧


android:state_pressed

Boolean、“true”表示按下状态使用(例如按钮按下)、“false”表示非按下状态使用


android:state_focused

Boolean、“true”表示聚焦状态使用(例如使用滚动球/D-pad聚焦Button);“false”表示非聚焦状态使用


android:state_selected

Boolean、“true”表示选中状态使用(例如Tab 打开);“false” 表示非选中状态使用


android:state_checkable

Boolean、“true”表示可勾选状态时使用;“false”表示非可 勾选状态使用、(只对能切换可勾选—非可勾选的构件有用、)


android:state_checked

Boolean、“true”表示勾选状态使用;“false”表示非勾选状态使用


android:state_enabled

Boolean、“true”表示可用状态使用(能接收触摸/点击事件)、“false”表示不可用状态使用


android:window_focused

Boolean、“true”表示应用程序窗口有焦点时使用(应用程序在前台)、“false”表示无焦点时使用(例如Notification栏拉 下或对话框显示)


注意:记住一点,StateList中第一个匹配当前状态的item会被使用、因此,如果第一个item没有任何状态特性的话

那么它将每次都被使用,这也是为什么默认的值必须总是在最后

ListView item使用实例 drawable/list_item_bg.xml

<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- 默认时的背景图片-->
    <item android:drawable="@drawable/pic1" />
    <!-- 没有焦点时的背景图片-->
    <item android:state_window_focused="false" android:drawable="@drawable/pic1" />
    <!-- 非触摸模式下获得焦点并单击时的背景图片-->
    <item android:state_focused="true" android:state_pressed="true"
        android:drawable="@drawable/pic2" />
    <!-- 触摸模式下单击时的背景图片-->
    <item android:state_focused="false" android:state_pressed="true"
        android:drawable="@drawable/pic3" />
    <!--选中时的图片背景-->
    <item android:state_selected="true" android:drawable="@drawable/pic4" />
    <!--获得焦点时的图片背景-->
    <item android:state_focused="true" android:drawable="@drawable/pic5" />
</selector>
使用xml文件

1、在listview中配置android:listSelector="@drawable/list_item_bg"
2、在listview的item中添加属性android:background=“@drawable/list_item_bg"即可实现

3、在java代码中使用:Drawable drawable = getResources().getDrawable(R.drawable.list_item_bg);

若资源对你有帮助、浏览后有很大收获、不妨小额打赏我一下、你的鼓励是维持我不断写博客最大动力

想获取DD博客最新代码、你可以扫描下方的二维码、关注DD博客微信公众号(ddblogs)

或者你也可以关注我的新浪微博、了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)

如对资源有任何疑问或觉得仍然有很大的改善空间、可以对该博文进行评论、希望不吝赐教

为保证及时回复、可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)

感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛


快速评论


技术评论

  • 该技术还没有评论、赶快抢沙发吧...
DD记账
top
+