自定义View-第十三步:xml标签:shape、selector、layerlist

前言

根据启舰 的博客所学习的自定义View。

一、shape讲解

利用代码绘制出背景效果,可以定义填充色、描边、圆角、渐变等
1. 使用方法
在res/drawable文件夹下,新建一个文件,命名为xx.xml



    
    
    

调用的时候,一般这样:

  android:background="@drawable/xx"

2. 具体讲解(corners、gradient、padding、size、solid、stroke)

  1. Corners
    //右下角的圆角半径   
  1. solid和stroke
    
      //虚线的间隔   
  1. size和padding
  
  

举个栗子⤵️



    
    
    //蓝色
    
    //红色
    
    

   

效果如下:


自定义View-第十三步:xml标签:shape、selector、layerlist_第1张图片
  1. gradient
自定义View-第十三步:xml标签:shape、selector、layerlist_第2张图片
引用自http://blog.csdn.net/harvic880925/article/details/41850723

举个栗子⤵️



    
    
    

    

效果图:

自定义View-第十三步:xml标签:shape、selector、layerlist_第3张图片

3. Shape的属性(rectangle、oval、line、ring)

android:shape=["rectangle" | "oval" | "line" | "ring"]    
//shape的形状,默认为矩形,可以设置为矩形(rectangle)、椭圆形(oval)、线性形状(line)、环形(ring)    

//下面的属性只有在android:shape="ring"时可用:    
android:innerRadius      //   尺寸,内环的半径。    
android:innerRadiusRatio  //  浮点型,以环的宽度比率来表示内环的半径,    
android:thickness           //尺寸,环的厚度    
android:thicknessRatio     // 浮点型,以环的宽度比率来表示环的厚度,例如,如果android:thicknessRatio="2", 那么环的厚度就等于环的宽度除以2。这个值是可以被android:thickness覆盖的,默认值是3.    
android:useLevel         //   boolean值,如果当做是LevelListDrawable使用时值为true,否则为false.   一般设为false。

举个栗子:




    
    

自定义View-第十三步:xml标签:shape、selector、layerlist_第4张图片
效果图

二、selector讲解

用于定义在用户不同的动作状态下,使用不同的背景值


//可变的填充,默认值为false,一般建议设置为false就行。 
    

系统在selector寻找符合要求的item时是按照代码的顺序从上向下遍历的,一旦发现符合状态的item就直接使用它,并停止继续寻找!如果把这些状态理解成集合的话,那么位于下面的集合一定不要是上面某个集合的子集,否则是不会轮到下面这个集合出场的。

selector用法举例

  
  

  //不能但在最上边哦,不然会失效的
  

效果:
1.在按压状态下展示picture1这种图片;
2.在默认状态下展示picture2这种图片;

三、layerlist讲解

主要作用就是将多个图层按照顺序叠起来,做为一个背景图来显示。
1. layerlist用法举例




   

   
   
       
           
           
       
   

   
       
           
               
                   
                   
               
           
           
               
                   
                   
               
           
       
   


   

效果:


自定义View-第十三步:xml标签:shape、selector、layerlist_第5张图片

参考网址

Android中的Selector使用详解
Android开发中的drawable文件:shape、layer-list和selector标签

你可能感兴趣的:(自定义View-第十三步:xml标签:shape、selector、layerlist)