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好看吧.好了,做法也许有很多,我介绍下我的做法吧, 首先,我第一个想到 ...
随机推荐
- Zimber 8.8.12卸载后重新安装报错解决办法
1.1 zimber故障处理步骤 1.1.1 现象描述 Running Post Installation Configuration: /opt/zimbra/bin/zmlocalconfig ...
- .net core 获取浏览器UserAgent
这两天由于自己公司的机器磁盘不够用了,果断把VS2015卸载了,只留下VS2017 当我打开一个以前一个很简单的MVC4.0的项目时候 温馨提示要安装MVC4,我犹豫了一下,还是点了安装,接下来提示要 ...
- Python数据类型的用法
字符串的用法 res = 'hellow,world' print(res) #res.显示的都是它的方法,下划线的除外 1 判断字符串的结尾字符,返回的值的布尔形式 endswith 判断字符串的开 ...
- 【java】实体类中 Set<对象> 按照对象的某个字段对set排序
Java利用hibernate进行一对多查询时,把另一张表作为一个属性存进这张表的字段中,返回的类型是set类型,要对返回的set类型进行排序 user表 package onlyfun.caterp ...
- 部署 Windows PowerShell Web 访问
部署 Windows PowerShell Web 访问 适用对象:Windows Server 2012, Windows Server 2012 R2 Windows PowerShell® We ...
- Careercup - Microsoft面试题 - 5485521224597504
2014-05-12 06:19 题目链接 原题: Given an input list of lists.. flatten the list. For e.g. {{,}, {}, {,}} . ...
- 【Best Time to Buy and Sell Stock II】cpp
题目: Say you have an array for which the ith element is the price of a given stock on day i. Design a ...
- TortoiseSVN 同时检索多人的提交日志记录(如图操作)
- ADO之密码验证--3次错误就锁定
这个程序是那vs2010下写的,C#语言.数据库是sql server 2008 首先在数据库中新建一个数据库Test1,在数据库中新建一个表用来保存用户名和密码USERINFO, CREATE TA ...
- Robotium测试架构规划及测试用例组织
转自:http://blog.sina.com.cn/s/blog_68f262210102vrft.html 6.1 测试架构规划 由于测试用例执行的时候是在手机上执行的,所以类似于Web的把测试数 ...