Android使用圆角
圆角Button
效果图
绿色Button
定义button_green.xml资源文件位于drawable文件夹下,可用作button的background属性
- button_green.xml:
1 <?xml version="1.0" encoding="utf-8"?>- <selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_pressed="true">
- <shape>
- <!-- 填充 -->
- <solid android:color="@color/green" />
- <!-- 描边 -->
- <stroke
- android:width="1dp"
- android:color="@color/cyan" />
- <!-- 圆角 -->
- <corners android:radius="6dp"/>
- <padding android:top="10dp" android:bottom="10dp"
- android:left="20dp"
- android:right="20dp"/>
- </shape>
- </item>
- <item>
- <shape>
- <solid android:color="@android:color/transparent" />
- <padding android:top="10dip" android:bottom="10dip"
- android:left="20dp"
- android:right="20dp"/>
- <stroke
- android:width="1dp"
- android:color="@color/green" />
- <corners android:radius="6dp"/>
- </shape>
- </item>
- </selector>
附上colors.xml
- colors.xml
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <color name="white">#FFFFFF</color>
- <color name="cyan">#4421A5DD</color>
- <color name="green">#98D264</color>
- </resources>
colors.xml
带渐变的橙色Button
定义button_orange.xml资源文件位于drawable文件夹下,代码如下:
- button_orange.xml:
- <?xml version="1.0" encoding="utf-8"?>
- <selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_enabled="false">
- <shape>
- <gradient
- android:startColor="#D0D0D0"
- android:centerColor="#B0B0B0"
- android:centerY="0.75"
- android:endColor="#D0D0D0"
- android:angle="270"
- />
- <corners android:radius="6dp"/>
- </shape>
- </item>
- <item android:state_pressed="true" android:state_enabled="true">
- <shape>
- <gradient
- android:startColor="#F5AA1C"
- android:centerColor="#F29600"
- android:centerY="0.75"
- android:endColor="#F5AA1C"
- android:angle="270"
- />
- <stroke android:width="1dp" android:color="#FBB343" />
- <corners android:radius="6dp" />
- </shape>
- </item>
- <item android:state_enabled="true">
- <shape>
- <gradient
- android:startColor="#FBB03B"
- android:centerColor="#FBB03B"
- android:centerY="0.75"
- android:endColor="#FBB03B"
- android:angle="270"
- />
- <stroke android:width="1dp" android:color="#FBB343" />
- <padding android:left="20dp"
- android:right="20dp"
- android:top="10dp"
- android:bottom="10dp"/>
- <corners android:radius="6dp" />
- </shape>
- </item>
- </selector>
button_orange.xml
自定义Button的使用
为方便使用,定义GreenButton和OrangeButton风格的style,代码如下:
- styles.xml:
- <resources>
- <!--
- Base application theme, dependent on API level. This theme is replaced
- by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
- -->
- <style name="AppBaseTheme" parent="android:Theme.Light">
- <!--
- Theme customizations available in newer API levels can go in
- res/values-vXX/styles.xml, while customizations related to
- backward-compatibility can go here.
- -->
- </style>
- <!-- Application theme. -->
- <style name="AppTheme" parent="AppBaseTheme">
- <!-- All customizations that are NOT specific to a particular API-level can go here. -->
- </style>
- <style name="GreenButton">
- <item name="android:layout_width">wrap_content</item>
- <item name="android:layout_height">wrap_content</item>
- <item name="android:background">@drawable/button_green</item>
- <item name="android:textColor">@color/button_green_color</item>
- </style>
- <style name="OrangeButton">
- <item name="android:layout_width">wrap_content</item>
- <item name="android:layout_height">wrap_content</item>
- <item name="android:background">@drawable/button_orange</item>
- <item name="android:textColor">@color/white</item>
- </style>
- </resources>
styles.xml
大家可能已经注意到了,上述GreenButton的style中还包含一个button_green_color的颜色,实际上,它也是一个xml文件,我们在res目录下新建一个color目录,用于存放我们自定义的color资源文件。
- button_green_color.xml:
- <?xml version="1.0" encoding="utf-8"?>
- <selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_selected="true" android:color="@color/white" />
- <item android:state_focused="true" android:color="@color/white" />
- <item android:state_pressed="true" android:color="@color/white" />
- <item android:color="@color/" />
- </selector>
button_green_color.xml
现在,使用自定义的button就很简单了,例如:
- <Button
- style="@style/GreenButton"
- android:text="GreenButton"/>
- <Button style="@style/OrangeButton"
- android:text="OrangeButton"/>
自定义button的使用
Android使用圆角的更多相关文章
- xamarin android制作圆角边框
xamarin android制作圆角边框 效果图如下: 关键代码: drawable文件夹新建shape_corner_down.xml <?xml version="1.0&quo ...
- Android 圆形/圆角图片的方法
Android 圆形/圆角图片的方法 眼下网上有非常多圆角图片的实例,Github上也有一些成熟的项目.之前做项目,为了稳定高效都是选用Github上的项目直接用.但这样的结束也是Android开发必 ...
- Android 图片圆角的设置
ImageView的scaleType的属性有好几种,分别是matrix(默认).center.centerCrop.centerInside.fitCenter.fitEnd.fitStart.fi ...
- Android之圆角矩形
安卓圆角矩形的定义 在drawable文件夹下,定义corner.xml <?xml version="1.0" encoding="utf-8"?> ...
- Android图片圆角效果
一般来说图片加圆角可以使用 Java 的方式来进行, 对图片略加处理即可, 但也可以使用纯XML+Nice-Patch图片来进行, 这样的速度会更快. 如果背景是纯色的情况下建议使用此方法. 原理则是 ...
- [置顶] android 自定义圆角ImageView以及锯齿的处理
看到很多人开发过程中要使用圆角图片时,解决方法有: 1.重新绘制一张图片 2.通过布局来配置 3.通过重写View来实现 其中1,2在这里就不讲了,重点讲讲方法三的实现. 实现一:通过截取画布一个圆形 ...
- Android 边框圆角
RelativeLayout 圆角实现: drawable目录下面定义shape的xml文件: mall_header_rel_bg.xml <?xml version="1.0&q ...
- android dialog圆角显示及解决出现的黑色棱角.(友情提示)
http://blog.csdn.net/jj120522/article/details/7871289 最近在开发一个天气预报的app,看到一个比较不错友情提示,如下: ...
- Android ListView圆角
首先来看看ListView 相关基本属性 1.单击列表后,列表的背景变成黑色了. 可通过指定android:cacheColorHint的属性来放变它,将它指定为透明. 使用以下的属性值: a ...
- Android dialog圆角显示及解决出现的黑色棱角
最近在开发一个天气预报的app,看到一个比较不错友情提示,如下: 怎么样,看起来比原始的dialog好看吧.好了,做法也许有很多,我介绍下我的做法吧, 首先,我第一个想到 ...
随机推荐
- JZOJ 4725. 质数序列
Description 由于去NOI的火车“堵”了数不清时间,小Z和小D打完ETG,闲着无聊开始看今年的JSOI省选题,并尝试着修改题目:对于一个长度为L ≥ 2的序列,X:x1,x2,...,xL ...
- 大数据小项目之电视收视率企业项目09--hive环境搭建
Hive是一个数据仓库基础工具在Hadoop中用来处理结构化数据.它架构在Hadoop之上,总归为大数据,并使得查询和分析方便.并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务 ...
- 面试前赶紧看了5道Python Web面试题,Python面试题No17
目录 本面试题题库,由公号:非本科程序员 整理发布 第1题: Flask中的请求上下文和应用上下文是什么? 第2题:django中间件的使用? 第3题: django开发中数据做过什么优化? 第4题: ...
- c++ vector实例
#include <iostream> #include <string> #include <vector> #include <iostream> ...
- python如何合并两个字典
我有两个Python字典,如何合并它们呢?update()方法正是你所需要的. >>> x = {'a':1, 'b': 2} >>> y = {'b':10, ' ...
- 3 - JVM随笔分类(gc.log ,VisualVM插件介绍,VisualVM远程连接方式介绍)
gc.log 354.2 KB 对于对应用的监控上可以使用Jdk自带的VisualVM来做可视化监控,可以查看当前服务应用进程的堆大小的走向,以及类的加载数量等,除此之外,VisualVM可以支持很多 ...
- 数据库路由中间件MyCat - 源代码篇(10)
此文已由作者张镐薪授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 3. 连接模块 3.5 后端连接 3.5.2 后端连接获取与维护管理 还是那之前的流程, st=>st ...
- flask url_for()和redirect的区别
一. 两者用来重定向的时候,被操作的对象不同. redirect直接是url,就是app.route的路径参数. url_for()是对函数进行操作. from flask import Flask, ...
- jenkins忘记管理员登陆密码
配置文件的路径在.../jenkins/config.xml (线上路径是/usr/local/tomcat7/webapps/jenkins/config.xml) 修复办法:千万注意:修复前一定要 ...
- Python-S9——Day100-Web前端框架之Vue
01 课程简介: 02 let和const: 03 箭头函数: 04 对象的单体模式: 05 nodejs介绍和npm操作: 06 webpack.babel介绍和vue的第一个案例: 07 昨日内容 ...