android: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" >
<Button
android:id="@+id/btnTest"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="组件"
android:layout_centerInParent="true"
/>
Button的原始特性如图:![可以看出,照片很呆板][1]
[1]: http://static.oschina.net/uploads/space/2015/0301/141755_uycv_734421.jpg
下面介绍shape里第一个属性:gradient ,这个属性表示,组件内部颜色的渐变,渐变由android:startColor和android:endColor来实现,这个很好理解,另外一个很重要的标签是渐变的角度android:angle,这个比较难,让我们上手看看,
首先Button需要先引用shape.xml这个文件,接下来我设置了四个比较典型的角度:0度,45度,90度,180度,看图。
<gradient
android:startColor="#000" //结束渐变颜色黑色
android:endColor="#FFF" //起始渐变颜色白色
android:angle="" //渐变角度
/>
![0度][2]
![45度][3]
![45度][4]
![90度][5]
![180度][6]
渐变方向和角度的关系已经很明显了。
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" //虚线边框宽度
/>
时间: 2024-10-05 02:55:23