android xml实现按钮的圆角、阴影效果及按下变化效果的实现代码
作者:RightStar_ 发布时间:2022-07-30 23:23:12
标签:android,按钮,圆角,按下
前言
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


猜你喜欢
- 详解Java注解的实现与使用方法Java注解是java5版本发布的,其作用就是节省配置文件,增强代码可读性。在如今各种框架及开发中非常常见,
- 前言我们在实际项目中,除了会碰到一对一的情况,还有一对多的情况,比如一个用户可以有多辆车,而一辆车只能有一个用户等等,今天我们就来一起学习下
- 可能开发安卓的人大多数都用过很多下拉刷新的开源组件,但是今天用了官方v4支持包的SwipeRefreshLayout觉得效果也蛮不错的,特拿
- java身份证合法性校验并获取身份证号有效信息,供大家参考,具体内容如下java身份证合法性校验/**身份证前6位【ABCDEF】为行政区划
- 一、问题分析入门案例的内容已经做完了,在入门案例中我们创建过一个SpringMvcConfig的配置类,再回想前面咱们学习Spring的时候
- 前言表之间的关系有几种:一对多、多对一、 一对一、多对多在多对一关系中,把多的部分拆成一个一个对象其实就是一对一关系,如账户和用户是多对一关
- package cn.hp.util;import java.sql.*;public class JDBCUtils { &
- 1、对称二叉树【OJ链接】分为以下几种情况:二叉树为空,是对称二叉树二叉树不为空,其左子树或者右子树为空,不是对称二叉树二叉树不为空,左右子
- springboot static调用service为null@PostConstruct注解好多人以为是Spring提供的。其实是Java
- 知道弱引用和软引用的概念与如何使用它们是两码事,引用类在垃圾回收工作的过程中有重要作用。我们都知道垃圾回收器会回收符合回收条件的对象的内存,
- 什么是AOPAOP是 Aspect Oriented Programming 的缩写,即面向切面编程,和平常遇到的面向对象OOP编程不一样的
- 本文实例为大家分享了Java实现多任务执行助手的具体代码,供大家参考,具体内容如下1.多线程执行任务类package com.visy.th
- 1. 下载myeclipse版本对应的STS插件下载地址:https://spring.io/tools/sts/all2.在myeclip
- Java8实现菜单树形数据当我们打开京东商城时,左侧的菜单依次分为 * 展示,这是如何实现的呢?本篇暂不讲述前端,只讲述如何使用java8 的
- 本文实例讲述了Android编程获取GPS数据的方法。分享给大家供大家参考,具体如下:GPS是Android系统中重要的组成部分,通过它可以
- 今天写项目突然出现了无法启动Gradle的bug,如下图然后就看了log日志:这个问题是我第一次看见,然后就开始了各种百度,有说需要在And
- 本文实例讲述了Android编程单选项框RadioGroup用法。分享给大家供大家参考,具体如下:今天介绍的是RadioGroup 的组事件
- 1.C++中的时间:(1) time_t其实是一个64位的long int类型(2) time函数:函数简介:函数名: time
- import java.util.List;/*** * 基本接口 * * @author xyq 
- java多线程的同步方法实例代码先看一个段有关银行存钱的代码:class Bank { private int su