自定义shape的使用(矩形弧角Button)

第一次写博客,只为加强记忆,请谅解;

在平时Android开发工作中,UI往往为了美观,会给出一些带圆角的设计,那么就需要我们用到自定义shape文件了;
来看一个简单的例子,当然也是最常用的,那就是矩形弧角Button;
首先 ,创建一个buttonshape.xml 文件:
<?xml   version = "1.0"   encoding = "utf-8" ?>
<shape  xmlns:android= "http://schemas.android.com/apk/res/android" android:shape= "rectangle"   >
<!--设置弧角半径 
    当然也可以单独设置每个角的弧角半径,如下:
    <corners
        android:topLeftRadius="0dp"
        android:topRightRadius="0dp"
        android:bottomLeftRadius="0dp"
        android:bottomRightRadius="0dp"
    />
-->
<corners
android:radius= "14dp"
/>
<!--这里是设置填充色的,即背景色-->
<solid
android:color= "#4F4F4F"
/>
<!--设置内间距-->
<padding
android:left= "0dp"
android:top= "0dp"
android:right= "0dp"
android:bottom= "0dp"
/>
<!--这个都知道吧,设置控件的尺寸的,最好和Button一致-->
<size
android:width= "270dp"
android:height= "60dp"
/>
<!--这是是设置外边框的
    width是宽度
    color是外边框颜色
-->
<stroke
android:width= "3dp"
android:color= "#faaaaa"
/>
</shape>

然后,在布局中写一个Button,讲背景设置为@drawable/buttonshape"; 
<Button
android:id= "@+id/angry_btn"

android:text= "Button"
android:textColor= "#FFFFFF"
android:textSize= "30sp"

android:layout_width= "270dp"
android:layout_height= "60dp"
android:background= "@drawable/buttonshape"
/>
效果图如下

还有个属性,是用来设置渐变色的,当然,一般我们开发中都用不着,这里就没写在例子里,下面简单的讲解一下
angle--> 渐变角度(PS:当angle=0时,渐变色是从左向右。 然后逆时针方向转,当angle= 90时为从下往上。angle必须为45的整数倍)
centerX-->渐变中心X点坐标的相对位置
centerColor-->从起始颜色到终点颜色的中间颜色
startColor--> 起始颜色
endColor--> 终点颜色
type-->渐变类型
    linear 线性渐变,这是默认设置
    radial 放射性渐变,以开始色为中心。
    sweep 扫描线式的渐变。
<gradient
android:angle= "45"
android:centerX= "35%"
android:centerColor= "#7995A8"
android:startColor= "#E8E8E8"
android:endColor= "#000000"
android:type= "linear"
/>

最后,推荐一个不错的网站http://angrytools.com/android/button/
这个网站可以直接给你生成你想要的buttonshape文件

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值