自定义view 详解

2017-06-15  本文已影响10人  Skypew

参考文章
非著名程序员http://www.gcssloop.com/#blog
抛物线http://hencoder.com/ui-1-1/
鸿洋http://blog.csdn.net/lmj623565791/article/details/24252901/

基本步奏

1、自定义View的属性
2、在View的构造方法中获得我们自定义的属性
[ 3、重写onMesure ]
4、重写onDraw

attrs.xml文件参考

format是值该属性的取值类型:
一共有:string,color,demension,integer,enum,reference,float,boolean,fraction,flag;

  <?xml version="1.0" encoding="utf-8"?>  
<resources>      
    <attr name="test" format="integer"/>  
    <declare-styleable name="customview">  
        <attr name="test"/> <!-- 复用声明在外部的属性定义test  -->  
          
        <attr name="atr1" format="reference"/> <!-- 参考引用某个资源 如@drawable/img-->  
        <attr name="atr2" format="string"/> <!-- 属性为string类型 -->  
        <attr name="atr3" format="string|reference"/> <!--  string类型或引用 -->  
        <attr name="atr4" format="boolean"/> <!-- 布尔型 true false  -->  
        <attr name="atr5" format="integer"/> <!-- 整数 -->  
        <attr name="atr6" format="float"/> <!-- 浮点  -->  
        <attr name="atr7" format="color"/> <!-- 颜色值 #rgb  #rrggbb #argb #aarrggbb -->  
        <attr name="atr8" format="dimension"/> <!-- 尺寸值 -->  
        <attr name="atr9" format="fraction"/> <!-- 百分比 -->  
        <attr name="atr10"> <!-- enum -->  
            <enum name="spring" value="1"/>  
            <enum name="summer" value="2"/>  
        </attr>  
        <attr name="art11"> <!-- 位或运算 表示 spring|summber  -->  
            <flag name="spring" value="4"/>  
            <flag name="summer" value="8"/>  
        </attr>  
    </declare-styleable>      
</resources>  
 
上一篇下一篇

猜你喜欢

热点阅读