android button背景随心搭配
这里我举例如何使用selector,layer-list完成button背景的层叠组合,从而有不同情形下不同效果
button_ctrl.xml中选择器
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/button_highlight_ctrl" />
<item android:drawable="@drawable/button_normal_ctrl" />
</selector>
button_highlight_ctrl.xml中两层图
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@drawable/button_highlight_back"
android:top="2dip"
android:right="2dip"
android:bottom="2dip"
android:left="2dip"/>
<item
android:drawable="@drawable/button_highlight_fore"
android:top="2dip"
android:right="2dip"
android:bottom="2dip"
android:left="2dip"/>
</layer-list>
button_highlight_back.xml中完成背景颜色的渐变
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners
android:radius="4dip"/>
<gradient
android:type="linear"
android:angle="270"
android:startColor="@color/highlight_button_start_color"
android:centerColor="@color/highlight_button_middle_color"
android:endColor="@color/highlight_button_end_color"/>
</shape>
button_highlight_fore是一张前景图片,即按下时的顶部阴影:
至此,已完成高亮button的制作,接下来是普通button
button_normal_ctrl.xml中两层图
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@drawable/button_normal_back"
android:top="2dip"
android:right="2dip"
android:bottom="2dip"
android:left="2dip"/>
<item
android:drawable="@drawable/button_normal_fore"
android:top="2dip"
android:right="2dip"
android:bottom="1dip"
android:left="2dip"/>
</layer-list>
button_normal_back.xml和button_normal_fore处理类似高亮,不贴代码了
下面是运行效果截图:
普通 高亮
当然前面不一定写字符,可以是一张图片。总之变化可以多样,核心思想是一致的。
转载于:https://www.cnblogs.com/nicklezhang/archive/2011/01/22/1941911.html
android button背景随心搭配相关推荐
- android Button背景高度被拉伸问题--解决方案
android Button背景高度被拉伸问题--解决方案 参考文章: (1)android Button背景高度被拉伸问题--解决方案 (2)https://www.cnblogs.com/slys ...
- android button背景图片自适应,Android开发之给你的Button加个背景
在Android应用中,绝大部分情况下,按钮都有按下变色的效果,这种效果主要都是借助于Android里面的 StateListDrawable来实现的,它可以设置多种状态,并分别为每种状态设置相应的d ...
- Android button背景设置透明色和样式
android:background="@android:color/transparent"<color name="transparent"># ...
- android button背景图片不拉伸的一种处理方法
一般来说UI给的图片比例应该和控件是正好符合的,但是实际操作过程中会发现可能不符合的情况,比例不对直接设置background的话background会被拉伸,这个时候一般来说如果能像ImageVie ...
- android button背景图片变形,按钮背景图像拉伸(wrap_content或dp使用)
我设置背景图像到我的自定义按钮.我为我的应用做了一个截图,并提到当我使用"wrap_content"作为按钮的宽度和高度时,该按钮被拉伸.当我在dp中修复大小时,它会显示很好(例如 ...
- android点击灰色背景图片,android button按键失去焦点和点击后改变背景图片
android button按键得到焦点和点击后改变背景图片 我也接受android不久,今天来给同学们分享一下button得到焦点和点击后改变背景图片,其实很简单就是两个事件setOnFocusCh ...
- Android Studio Button背景颜色无法修改
关于Android Studio Button背景无法修改,一直呈现亮紫色 作为安卓初学者,发现Button的背景颜色无法修改,也没法链接到drawable的样式xml文件,前前后后折腾了好久,查阅了 ...
- android checkBox背景样式及用颜色值实现button点击效果
1 使用颜色值(不使用图片)来实现按钮的点击效果: color.xml <color name="head_color">#836FFF</color> ...
- android开发设置Button背景颜色
1 :在drawable里新建一个setbar_bg.xml,代码为 <?xml version="1.0" encoding="utf-8"?> ...
最新文章
- keras module 'tensorflow' has no attribute 'placeholder'
- 飞在空中的仓库再配合无人机送货,沃尔玛新专利厉害了
- folderutils.java_值得分享的超全文件工具类FileUtil
- AI理论知识整理(9)-级数与数列收敛
- OpenCV—形态学运算定义与实现
- 《数据管理能力成熟度模型》标准宣贯会在上海召开
- 纯js上传文件 很好用
- 简单事务:.NET Core应用程序的微服务示例体系结构
- VC知识库文档中心嵌入开发WinCE 里面不少写的很好的WinCE的文章
- idea 格式化vue代码,检查语法
- Zigbee和wifi信道设置避免同频干扰
- (超详细笔记整理)动力节点_老杜 | JavaSE进阶 【P486之后】
- 电脑右下角,电脑右下角的小喇叭不见了怎么办【解决方法】
- 学计算机语言从何开始,小孩学编程从哪开始
- 地面分辨率,空间分辨率(GSD为地面采样间隔)
- 建筑市场监管平台解密
- Linux 安装添加新的字体
- 校园网络时钟系统(标准化考场)建设方案
- 论文学习——基于混合GA优化LSTM的中小流域流量预测研究
- 变味的校园App:网游色情内容泛滥,K12成重灾区
热门文章
- windows下scrapy安装问题,以及Twisted安装报错(error: Microsoft Visual C++ 14.0 is required.)完美解决办法...
- 【poj3208-Apocalypse Someday】数位DP
- Java(CallableStatement)调用Oracle存储过程返回结果集(ResultSet)
- 深入理解WMS(三):剖析Activity,View,Window之间的关系
- Binder相关面试总结(一):为什么Android要采用Binder作为IPC机制?
- 【剑指offer-Java版】37两个链表的第一个公共结点
- Android 虚线实现绘制 - DashPathEffect
- [java语言]——InetAddress类的getByName()方法
- Android10.0 Binder通信原理(一)Binder、HwBinder、VndBinder概要
- java里css查找快捷键_CSS入门2—元素快捷键