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

Android之给Button上添加按压效果

一、配置stateListAnimator参数实现按压效果

1、按钮控件

<Buttonandroid:id="@+id/mBtnLogin"android:layout_width="match_parent"android:layout_height="48dp"android:background="@drawable/shape_jfrb_login_button"android:stateListAnimator="@animator/button_press_effect"android:text="@string/login"android:textColor="#ffffff"android:textSize="@dimen/sp_18" />

2、设置按压效果,配置stateListAnimator

(1)button_press_effect.xml

文件位置:
在这里插入图片描述
文件内容:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_pressed="true"><set><!-- 按压时的缩放比例,可调整 --><objectAnimator android:propertyName="scaleX" android:valueTo="0.95" android:valueType="floatType" android:duration="100" /><objectAnimator android:propertyName="scaleY" android:valueTo="0.95" android:valueType="floatType" android:duration="100" /><!-- 按压时的透明度变化,可调整 --><objectAnimator android:propertyName="alpha" android:valueTo="0.6" android:valueType="floatType" android:duration="100" /></set></item><item android:state_enabled="true" android:state_pressed="false"><set><!-- 松开后恢复原始状态 --><objectAnimator android:propertyName="scaleX" android:valueTo="1.0" android:valueType="floatType" android:duration="100" /><objectAnimator android:propertyName="scaleY" android:valueTo="1.0" android:valueType="floatType" android:duration="100" /><objectAnimator android:propertyName="alpha" android:valueTo="1.0" android:valueType="floatType" android:duration="100" /></set></item>
</selector>

3、完成

运行后点击按钮即可看到效果,可根据需要调整button_press_effect中的数值参数

二、持续更新中…

http://www.lryc.cn/news/350075.html

相关文章:

  • python EEL + vue3.js 项目中如何把组件中的函数提升为全局函数
  • sqli-labs靶场第十四关
  • 【C语言】6.C语言VS实用调试技巧(1)
  • AIGC行业现在适合进入吗
  • ubuntu CUDA 驱动更新,版本更新,多CUDA版本管理
  • effective python学习笔记_类与接口
  • 如何去除字符串两侧的空白字符?
  • Flutter 中的 PageStorage 小部件:全面指南
  • 头歌实践教学平台:CG1-v2.0-直线绘制
  • Nacos+GateWay 搭建微服务架构
  • 【2024华为HCIP831 | 高级网络工程师之路】刷题日记(18)
  • 在抖音做电商,没有货源,不懂直播怎么办?分享一种解决方案!
  • 基于单片机的智能安防系统设计(32+4G+WIFI版)-设计说明书
  • 云服务器配置mysql允许被远程连接从而使用图形化界面
  • 【软件测试】需求概念|软件的⽣命周期|开发模型|测试模型
  • SQL中的LAG函数与LEAD函数用法
  • 数据结构------二叉树经典习题1
  • 汇聚荣:拼多多长期没有流量如何提高?
  • Chrome的常用操作总结
  • dvwa靶场 JavaScript Attacks(js攻击)全难度教程(附代码分析)
  • Flutter 中的 checkboxListTile 小部件:全面指南
  • 前馈神经网络FNN、多层感知机MLP和反向传播推导
  • QML笔记八
  • 运维别卷系列 - 云原生监控平台 之 00.prometheus 监控汇总
  • 信息系统安全与对抗-网络侦查技术与网络扫描技术(期末复习简答题)
  • 【python量化交易】—— Alpha选股策略 - Qteasy自定义交易策略【附源码】
  • 简单记录下:Navicat 导出表结构至 Excel
  • 黑马基于Web-socket的java聊天室基本解析
  • 【操作系统期末速成】​内存管理|内存的装入模块在装入内存的方式|分配管理方式|页面置换算法|页面置换
  • 图和网络笔记