android:shape这个文件或者说属性是控制组件特性特别有用,往上搜刮的内容讲解很迂腐,仍是本身上手试了一下才感受稍微入了门,很少说,上代码。 我以Button为例,来展现shape的用法。 布局文件送上: <!-- lang: java --> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" >java
<Button android:id="@+id/btnTest" android:layout_width="100dp" android:layout_height="100dp" android:text="组件" android:layout_centerInParent="true" />
</RelativeLayout> Button的原始特性如图:![能够看出,照片很呆板][1] [1]: http://static.oschina.net/uploads/space/2015/0301/141755_uycv_734421.jpgandroid
下面介绍shape里第一个属性:gradient ,这个属性表示,组件内部颜色的渐变,渐变由android:startColor和android:endColor来实现,这个很好理解,另一个很重要的标签是渐变的角度android:angle,这个比较难,让咱们上手看看,
首先Button须要先引用shape.xml这个文件,接下来我设置了四个比较典型的角度:0度,45度,90度,180度,看图。 <!-- lang: java --> <gradient android:startColor="#000" //结束渐变颜色黑色 android:endColor="#FFF" //起始渐变颜色白色 android:angle="" //渐变角度 />
渐变方向和角度的关系已经很明显了。 corners:本义是角落,在android里角,就是四个角,这个属性很简单,只有半径这个标签须要记住 <!-- lang: java --> <!-- 组件圆角以及角半径 --><!-- radius后边属性会覆盖android:radius --> <corners android:radius="10dp" android:topLeftRadius="10dp"
android:topRightRadius="20dp" android:bottomLeftRadius="30dp" //bottomLeftRadius和bottomRightRadius两个属性是颠倒的,这个须要注意 android:bottomRightRadius="40dp" /> stroke:就是border,边框,搜到的文档都叫描边,云里雾里啊看的, <!-- lang: java --> <stroke android:color="#FF0000" //边框颜色 android:width="4dp" //边框宽度 android:dashWidth="4dp" //虚线边框宽度 android:dashGap="10dp" //虚线边框宽度 /> 附赠一个外国人的黑技术~ide