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>

android xml实现按钮的圆角、阴影效果及按下变化效果的实现代码

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>

android xml实现按钮的圆角、阴影效果及按下变化效果的实现代码

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"
 />

android xml实现按钮的圆角、阴影效果及按下变化效果的实现代码

效果动态图

android xml实现按钮的圆角、阴影效果及按下变化效果的实现代码

来源: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
  • asp之家 软件编程 m.aspxhome.com