圆角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使用圆角的更多相关文章

  1. xamarin android制作圆角边框

    xamarin android制作圆角边框 效果图如下: 关键代码: drawable文件夹新建shape_corner_down.xml <?xml version="1.0&quo ...

  2. Android 圆形/圆角图片的方法

    Android 圆形/圆角图片的方法 眼下网上有非常多圆角图片的实例,Github上也有一些成熟的项目.之前做项目,为了稳定高效都是选用Github上的项目直接用.但这样的结束也是Android开发必 ...

  3. Android 图片圆角的设置

    ImageView的scaleType的属性有好几种,分别是matrix(默认).center.centerCrop.centerInside.fitCenter.fitEnd.fitStart.fi ...

  4. Android之圆角矩形

    安卓圆角矩形的定义 在drawable文件夹下,定义corner.xml <?xml version="1.0" encoding="utf-8"?> ...

  5. Android图片圆角效果

    一般来说图片加圆角可以使用 Java 的方式来进行, 对图片略加处理即可, 但也可以使用纯XML+Nice-Patch图片来进行, 这样的速度会更快. 如果背景是纯色的情况下建议使用此方法. 原理则是 ...

  6. [置顶] android 自定义圆角ImageView以及锯齿的处理

    看到很多人开发过程中要使用圆角图片时,解决方法有: 1.重新绘制一张图片 2.通过布局来配置 3.通过重写View来实现 其中1,2在这里就不讲了,重点讲讲方法三的实现. 实现一:通过截取画布一个圆形 ...

  7. Android 边框圆角

    RelativeLayout 圆角实现:  drawable目录下面定义shape的xml文件: mall_header_rel_bg.xml <?xml version="1.0&q ...

  8. android dialog圆角显示及解决出现的黑色棱角.(友情提示)

    http://blog.csdn.net/jj120522/article/details/7871289 最近在开发一个天气预报的app,看到一个比较不错友情提示,如下:               ...

  9. Android ListView圆角

    首先来看看ListView 相关基本属性 1.单击列表后,列表的背景变成黑色了. 可通过指定android:cacheColorHint的属性来放变它,将它指定为透明. 使用以下的属性值:     a ...

  10. Android dialog圆角显示及解决出现的黑色棱角

    最近在开发一个天气预报的app,看到一个比较不错友情提示,如下:                怎么样,看起来比原始的dialog好看吧.好了,做法也许有很多,我介绍下我的做法吧, 首先,我第一个想到 ...

随机推荐

  1. Zimber 8.8.12卸载后重新安装报错解决办法

    1.1  zimber故障处理步骤 1.1.1  现象描述 Running Post Installation Configuration: /opt/zimbra/bin/zmlocalconfig ...

  2. .net core 获取浏览器UserAgent

    这两天由于自己公司的机器磁盘不够用了,果断把VS2015卸载了,只留下VS2017 当我打开一个以前一个很简单的MVC4.0的项目时候 温馨提示要安装MVC4,我犹豫了一下,还是点了安装,接下来提示要 ...

  3. Python数据类型的用法

    字符串的用法 res = 'hellow,world' print(res) #res.显示的都是它的方法,下划线的除外 1 判断字符串的结尾字符,返回的值的布尔形式 endswith 判断字符串的开 ...

  4. 【java】实体类中 Set<对象> 按照对象的某个字段对set排序

    Java利用hibernate进行一对多查询时,把另一张表作为一个属性存进这张表的字段中,返回的类型是set类型,要对返回的set类型进行排序 user表 package onlyfun.caterp ...

  5. 部署 Windows PowerShell Web 访问

    部署 Windows PowerShell Web 访问 适用对象:Windows Server 2012, Windows Server 2012 R2 Windows PowerShell® We ...

  6. Careercup - Microsoft面试题 - 5485521224597504

    2014-05-12 06:19 题目链接 原题: Given an input list of lists.. flatten the list. For e.g. {{,}, {}, {,}} . ...

  7. 【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 ...

  8. TortoiseSVN 同时检索多人的提交日志记录(如图操作)

  9. ADO之密码验证--3次错误就锁定

    这个程序是那vs2010下写的,C#语言.数据库是sql server 2008 首先在数据库中新建一个数据库Test1,在数据库中新建一个表用来保存用户名和密码USERINFO, CREATE TA ...

  10. Robotium测试架构规划及测试用例组织

    转自:http://blog.sina.com.cn/s/blog_68f262210102vrft.html 6.1 测试架构规划 由于测试用例执行的时候是在手机上执行的,所以类似于Web的把测试数 ...