第一次写博客,只为加强记忆,请谅解;
在平时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文件