Android自定义View以及Layout属性

第一:自定义MyView类,继承View

    1、MyView myView = new MyView(context);

    2、在Layout文件夹的XML 中声明

          <bin.feifei.first.MyView
             android:id="@+id/myview"
             test:age="11"
             test:city="feifei"
                     />  

   3、增加  xmlns:test="http://schemas.android.com/apk/res/bin.feifei.first"

            定义test命名空间和age、city两个属性, 在rec/values目录下新建attr.xml文件,

            <?xml version="1.0" encoding="UTF-8"?>
            <resources>
                 <declare-styleable name="MyView">
                  <attr name="city" format="string"/>
                  <attr name="age" format="integer"/>
                 </declare-styleable>
            </resources>

         format :

                    integer、float、boolean、string、color(#ff0000)、dimension(尺寸23dip,15px,18sp)     \还有reference 用于@+id/test      @drawable/xxx这样的类型

 

4、使用obtainStyledAttributes的方法来获取我们的定义

            public MyView(Context context, AttributeSet attrs) {
              super(context, attrs);
              TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.MyView);
              int age = a.getInt(R.styleable.MyView_age, 12);
              System.out.println(age);
              paint = new Paint();
              a.recycle(); //要记得释放咧
 }

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值