android xml实现按钮的圆角、阴影效果及按下变化效果的实现代码
作者:RightStar_ 时间:2022-07-30 23:23:12
前言
5个xml文件实现 按钮的圆角、阴影效果以及按下变化效果
实现
drawable/shape.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- 圆角 -->
<corners
android:radius="8dp"
android:topLeftRadius="5dp"
android:topRightRadius="5dp"
android:bottomLeftRadius="5dp"
android:bottomRightRadius="5dp"/><!-- 设置圆角半径 -->
<!-- 间隔 -->
<padding
android:left="2dp"
android:top="2dp"
android:right="2dp"
android:bottom="2dp"/><!-- 各方向的间隔 -->
<!-- 大小 -->
<size
android:width="50dp"
android:height="50dp"/><!-- 宽度和高度 -->
<!-- 填充 -->
<solid
android:color=" #FF03A9F4"/><!-- 填充的颜色 -->
</shape>
drawable/shapepress.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- 圆角 -->
<corners
android:radius="8dp"
android:topLeftRadius="5dp"
android:topRightRadius="5dp"
android:bottomLeftRadius="5dp"
android:bottomRightRadius="5dp"/><!-- 设置圆角半径 -->
<!-- 间隔 -->
<padding
android:left="2dp"
android:top="2dp"
android:right="2dp"
android:bottom="2dp"/><!-- 各方向的间隔 -->
<!-- 大小 -->
<size
android:width="50dp"
android:height="50dp"/><!-- 宽度和高度 -->
<!-- 填充 -->
<solid
android:color="#FF7AD1F8"/><!-- 填充的颜色 -->
</shape>
drawable/shadow.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!--第一层阴影-->
<item>
<shape android:shape="rectangle">
<solid android:color="#21000000" />
<corners android:radius="8dp"
android:topLeftRadius="5dp"
android:topRightRadius="5dp"
android:bottomLeftRadius="5dp"
android:bottomRightRadius="5dp" />
<!-- 大小 -->
<size
android:width="50dp"
android:height="50dp"/><!-- 宽度和高度 -->
</shape>
</item>
<!--第二层前景-->
<item
android:bottom="2dp"
android:right="3dp"
android:drawable="@drawable/shape"
>
</item>
</layer-list>
drawable/shadowpress.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!--第一层阴影-->
<item>
<shape android:shape="rectangle">
<solid android:color="#0E000000" />
<corners android:radius="8dp"
android:topLeftRadius="5dp"
android:topRightRadius="5dp"
android:bottomLeftRadius="5dp"
android:bottomRightRadius="5dp" />
<!-- 大小 -->
<size
android:width="50dp"
android:height="50dp"/><!-- 宽度和高度 -->
</shape>
</item>
<!--第二层前景-->
<!--第二层前景-->
<item
android:bottom="2dp"
android:right="3dp"
android:drawable="@drawable/shapepress"
>
</item>
</layer-list>
drawable/button_style.xml
<?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/shadowpress" />
<!-- 默认时的背景图片-->
<item android:drawable="@drawable/shadow" />
</selector>
activity_main.xml中引入
<Button
android:id="@+id/button9"
android:onClick="pushNumber"
android:text="9"
android:background="@drawable/button_style"
android:textColor="@color/colorWhite"
android:layout_margin="5dp"
/>
效果动态图
来源:https://blog.csdn.net/qq_33886316/article/details/117170698
标签:android,按钮,圆角,按下
0
投稿
猜你喜欢
C#装饰者模式实例分析
2022-07-16 00:33:53
C#中SQL Command的基本用法
2023-10-04 06:01:32
如何自己实现Android View Touch事件分发流程
2023-10-19 14:07:30
Java构建JDBC应用程序的实例操作
2023-08-07 12:09:13
java实现多线程的两种方式继承Thread类和实现Runnable接口的方法
2022-07-24 04:27:18
浅谈C#中的for循环与foreach循环
2021-08-23 03:27:38
关于jdk环境变量的配置方式解读
2023-04-22 14:53:05
C#将制定目录文件名转换成大写的方法
2022-10-03 19:46:36
C#进制之间的相互转换详解
2022-07-24 11:47:53
C#四种计时器Timer的区别和用法
2021-10-12 01:31:14
进度条ProgressBar及ProgressDialog(实例)
2021-09-24 01:07:42
Android开发必备:秒杀真机超快模拟器Genymotion介绍
2021-06-22 03:00:17
浅谈Java锁的膨胀过程以及一致性哈希对锁膨胀的影响
2023-06-03 15:03:38
Android编程使用HTTP协议与TCP协议实现上传文件的方法
2023-11-22 15:37:43
Unity UI实现循环播放序列图
2023-03-14 15:51:10
在IDEA里gradle配置和使用的方法步骤
2023-11-23 16:07:58
Java编程探索之泛型擦除实例解析
2022-08-30 02:13:35
Java中File文件操作类的基础用法
2022-09-28 14:37:03
使用spring通过aop获取方法参数和参数值
2022-06-04 16:28:33
Unity3D自定义创建圆锥体
2022-05-04 10:12:34