第一次写博客,只为加强记忆,请谅解;
在平时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
</shape>
android:width=
"3dp"
android:color=
"#faaaaa"
/>
然后,在布局中写一个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文件