android:shape妙用

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"    //虚线边框宽度
    />

技术分享
附赠一个外国人的黑技术~

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。