一只大二狗的Android历程--自定义按钮样式(补充)
来源:互联网 发布:linux切换到root用户 编辑:程序博客网 时间:2024/06/05 14:57
2017年3月10日 11:52 AM
上篇博文中讲述了如何自定义自己的按钮,但思来考去总感觉有点丑,而且可拓展性也不高,什么意思呢,就是说,上篇介绍的按钮写法无法同时实现按钮的圆角,渐变色和点击变色,于是乎对按钮的shape.xml文件进行改造,只需要一个xml文件便可以实现所有提到的样式,而且还可以后期添加样式,好了废话不多说,下面放代码
btn_style.xml
<?xml version="1.0" encoding="utf-8"?><!--建立一个selector,用于判断按钮的状态--><selector xmlns:android="http://schemas.android.com/apk/res/android" ><!--建立两个item分别判断按钮的状态--> <item android:state_pressed="true"> <!--这里可以通过shape标签实现按钮的形状自定义--> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <corners android:radius="8dip"/> <!--这里可以通过gradient标签实现渐变色自定义--> <gradient android:startColor="#87CEFA" android:endColor="#436EEE" android:angle="90" /> </shape> </item><!--以下为按钮的DLE状态,与pressed相同--> <item android:state_pressed="false"> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:startColor="#8DEEEE" android:endColor="#4876FF" android:angle="90" /> <corners android:radius="8dip"/> </shape> </item></selector>
写到这里就说完了,接下来只需要在按钮上的background属性下应用这个样式就可以了,是不是感觉比上篇博文上写的要简洁一些呢,而且还不用去花时间新建其他的xml文件
下面放上效果图(这个是在上课的时候截的图,点击 按钮颜色会变的稍微暗一些)
PS:这篇博文是对上篇博文的补充,所以短一些
0 0
- 一只大二狗的Android历程--自定义按钮样式(补充)
- 一只大二狗的Android历程--简单自定义按钮样式(Custom Button Style)
- 一只大二狗的Android历程--自定义Toast样式
- 一只大二狗的Android历程--国际化(作业)
- 一只大二狗的Android历程--Snackbar的使用
- 一只大二狗的Android历程--开端
- 一只大二狗的Android历程--OnClickListener & Toast
- 一只大二狗的Android历程--JSon解析
- 一只大二狗的Android历程--Activity之间的简单数据传递
- 一只大二狗的Android历程--Activity间数据交换的实例
- 一只大二狗的Android历程--PNG图片的Crunching Cruncher错误解决办法
- 一只大二狗的Android历程--文件输入输出流 & SharedPreference
- 一只大二狗的Android历程--JSon解析实例_天气预报
- 一只大二狗的Android历程--SQLite数据库CRUD操作
- Android自定义按钮样式
- android 自定义按钮样式
- Android 自定义Switch开关按钮的样式
- android 自定义多功能按钮(转盘样式)
- Android消息机制(AsyncTask操控进度条(颜色)线程的用法)
- java web项目,post请求发送数据太大的处理方法
- 设计模式-适配器模式
- iOS 防止按钮多次点击造成多次响应的方法
- QtQuick 中的 qml 与 Qt 的 C++
- 一只大二狗的Android历程--自定义按钮样式(补充)
- BUPT OJ 丁神又去谷歌
- 反转链表
- Android中级教程之Android应用程序的生命周期
- 200. Number of Islands(week 3)
- 使用讯飞语音SDK时的问题
- 第8节-核技法、软间隔分类和SMO算法
- Android AsyncChannel源码分析
- Android里任务栈(Task)的概念