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好看吧.好了,做法也许有很多,我介绍下我的做法吧, 首先,我第一个想到 ...
随机推荐
- 二十四、MySQL ALTER命令
MySQL ALTER命令 当我们需要修改数据表名或者修改数据表字段时,就需要使用到MySQL ALTER命令. 开始本章教程前让我们先创建一张表,表名为:testalter_tbl. root@ho ...
- Linux 系统性能
Linux:PS命令详解与使用 要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,ps命令就是最基本进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态.进程 ...
- aop配置问题引发的报错
今天在使用注解配置aop时出现了几次的错误 INFO - Refreshing org.springframework.context.support.ClassPathXmlApplicationC ...
- 科学计算库Numpy——文件读写
读文件 要读取的文件 有分隔符的文件 备注:delimiter分隔符. 有多余行的文件 备注:skiprows去掉几行. 指定列 备注:usecols指定使用哪几列. 写文件 保存后的文件 备注:fm ...
- PAT basic 1087
1087 有多少不同的值 (20 分) 当自然数 n 依次取 1.2.3.…….N 时,算式 ⌊n/2⌋+⌊n/3⌋+⌊n/5⌋ 有多少个不同的值?(注:⌊x⌋ 为取整函数,表示不超过 x 的最大自然 ...
- Git-Git初始化
创建版本库及第一次提交 通过如下操作来查看一下您的Git版本. $ git --version git version 1.7.4 在开始 Git 之旅之前,我们需要设置一下 Git 的配置变量,这是 ...
- Android四大组件之服务
创建一个服务,并与活动绑定 作为安卓四大组件之一的服务,毫无例外也要在manifast中进行注册 新建服务类继承于Service,并覆盖onBind( )方法,用于与活动绑定 public class ...
- 异步消息处理机制,UI更新
UI只能在主线程中完成更新,在子线程中更新UI报错如下 Only the original thread that created a view hierarchy can touch its vie ...
- Kali 安装VMtools(最新)
老方法安装的VMtools不能进行主宿切换,下面是kali最新版安装VMtools的方法 一.换国内源&更新源 参考 Kali 2017更新源 二.安装VMtools apt-get inst ...
- WPF实现QQ群文件列表动画(二)
上篇(WPF实现QQ群文件列表动画(一))介绍了WPF实现QQ群文件列表动画的大致思路,结合我之前讲过的WPF里ItemsControl的分组实现,实现起来问题不大,以下是效果图: 其实就是个List ...