Android Custom View (自定义 View)

来源:互联网 发布:网络光端机 编辑:程序博客网 时间:2024/06/12 00:55

Android Custom View (自定义 View)

野生Android开发人员终于还是遇到了关于自定义View,先是Google出来 Android的帮助文档,然而,英文看的很吃力。于是又搜索到中文版开发手册,在此,感谢开源精神,致敬前辈。
接下来,就算是自己的小小理解以及大大的困惑。
一、关于自定义一个View,十之八九是因为原生的View不能满足。在此,我们可以选择直接无中生有,继承View类创建一个特制的View,此处需要创建一个java类,并可以选择给它配上属于自己的属性,此处需要创建一个attr.xml(有的博客上交attrs.xml,估计叫什么名字都没有影响吧~)。之后就可以在mainactivity.xml中使用自己的View,如果自带属性(即,设置了attr.xml),那么需要在第一个layout中添加一行代码如下所示:

xmlns:custom (一个你喜欢的名字 )= “此处为自定义view所对应的包名”

接下来,就可以使用自己的View组件。使用方式如下所示:

<com.example.MyViewcustom:mycolor="#ffffff"android:layout_height="fill_parent"……/>

二、此外还有一种情况就是原生View的绝大多数功能是需要的,可仍然欠缺少许功能,那么此时就可以选择扩展该View根据需求添加功能即可。例如在java类中继承一个ButtonView来扩展Button的功能,而不是重写一个新的Button。这样一来可以提供开发效率。

友情Tips&疑问

  • 一个View 应该要注意三个复写函数,onMesure(),onLayout(),onDraw()。
  • 有个疑问,一个attr.xml中是否可以写多个属性集,< declare-styleable name=”“>可以出现多次?xml中的命名空间可以自动辨识么?一直不理解attr.xml是怎么和MyView.java关联在一起。即,使用该自定义View时,在xml中如何辨识它的属性集???

这算是第一篇博客,还是第一次用MD写的,希望可以帮到一部分像我这样的初学者,更希望可以得到大神的指点哈。愿进步与我同在~

0 0
原创粉丝点击