当前位置: 首页 > news >正文

按钮点击效果总结

一、在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>

相关文章:

  • mysql菜鸟手迹13--mysql用户及权限管理
  • 【Python】09、线性结构、切片及解构
  • 访问CISCO 路由器的方法
  • Alan Cox 被斯旺西大学授予荣誉学位
  • Oculus 推出VR浏览器 Carmel
  • ABAP:SmartForms 之二--设计
  • SANS:2011年度日志管理调查报告
  • 委托与事件(迷糊………………)
  • 第十五周学习进度条
  • CentOS添加多个yum源
  • 利用boost.python库实现C++与Python的整合
  • 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - ORM体系的改进与ORM的新成员...
  • 【机器学习】Softmax 和Logistic Regression回归Sigmod
  • Gridview导出Excel方法
  • 数据库设计---合适的就是最好的
  • 【mysql】环境安装、服务启动、密码设置
  • 2017届校招提前批面试回顾
  • Android单元测试 - 几个重要问题
  • Angular 响应式表单之下拉框
  • CSS 三角实现
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • Hibernate最全面试题
  • JavaScript 奇技淫巧
  • Java程序员幽默爆笑锦集
  • MySQL QA
  • October CMS - 快速入门 9 Images And Galleries
  • PaddlePaddle-GitHub的正确打开姿势
  • Python学习之路16-使用API
  • Sublime text 3 3103 注册码
  • TiDB 源码阅读系列文章(十)Chunk 和执行框架简介
  • uva 10370 Above Average
  • vue-cli3搭建项目
  • 力扣(LeetCode)965
  • 我从编程教室毕业
  • gunicorn工作原理
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • ​ssh免密码登录设置及问题总结
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • (二)丶RabbitMQ的六大核心
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (离散数学)逻辑连接词
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (排序详解之 堆排序)
  • (图)IntelliTrace Tools 跟踪云端程序
  • (译)计算距离、方位和更多经纬度之间的点
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (转)ABI是什么
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .net framework4与其client profile版本的区别
  • .Net 知识杂记
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout