APIDemo学习笔记——在XML中使用自定义的View类

看了APIDemo->View->Custom的代码。

第一眼看过去这些代码还以为是一个很简单的TextView,但在翻到XML文件后,发现这个View是自定义的View,该View的定义放在view包的LabelView.java内,还是很有学习的价值的

。这个Demo主要包括view包的CustomView1.java,LabelView.java,layout中的custom_view_1.xml,res中的attrs.xml。

 

代码不贴了,每个版本的SDK里都带有的,我上面已经列出来了。

 

在XML布局文件中使用自定义View主要有以下几个要点:

1、XML布局文件,标签名要包含完整的包名、类名

2、自定义的对象中如果需要用到不属于View类自带的标签名,需要在res/values下新建一个attrs.xml文件,将这些标签名的格式包含进去,写法参照中APIDemo的例子。使用自定义的标签时,前缀为app:,区别于系统自带的android:。

3、新建了attrs.xml文件后,在R文件下才会生成styleable。

4、要让自定义的View的XML标签起作用,在代码里,必须重写构造函数View(Context, AttributeSet)方法。

5、重写的构造方法中,使用obtainStyledAttributes得到XML里的变量的集合,第二个参数名为在attrs.xml里写的style name。返回值为TypedArray类型。每种类型的变量都有相应的方法得到(不要傻傻地自己去转换= =!!)。得到的值记得判断是否为空值。

6、构造函数最后要使用recycle方法,将得到的TypedArray回收。

7、记得重写onDraw方法。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值