博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
按钮点击效果总结
阅读量:7067 次
发布时间:2019-06-28

本文共 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/

你可能感兴趣的文章
Airbnb如何简化1000多位工程师的Kubernetes工作流程?
查看>>
从Python2到Python3:超百万行代码迁移实践
查看>>
微软为无服务器架构引入新API管理消费层
查看>>
程序员,不要急于学习编程语言,先学会如何解决问题
查看>>
ASP.NET 2.2 Preview 1首次支持Java SignalR客户端
查看>>
京东618:六年历程步步为营,京东商城的安全保卫战
查看>>
Netflix是如何针对云构建和部署代码的
查看>>
Rust 1.27支持SIMD
查看>>
敏捷脑图用例实践之路
查看>>
又拍云张聪谈安全、HTTPS、自定义、CDN的未来趋势
查看>>
腾讯58篇论文入选CVPR 2019,涵盖视觉对抗学习等方向
查看>>
ASP.NET SignalR增加Azure支持
查看>>
Raspberry Pi Zero发布,一台5美元的电脑
查看>>
IBM和Lightbend宣布构建新认知开发平台的战略
查看>>
GitHub引入依赖图和安全预警
查看>>
Visual Studio 2017 15.7全面支持C++17
查看>>
BAT集体升级云事业部,这背后都藏着哪些“小心思”?
查看>>
阿里妈妈新突破:深度树匹配如何扛住千万级推荐系统压力
查看>>
微服务之旅的经验分享
查看>>
范凯:一个二次创业者的失败
查看>>