android自定义组件

来源:互联网 发布:app软件排名 编辑:程序博客网 时间:2024/06/05 16:53
public DrawView(Context context) {super(context);// TODO Auto-generated constructor stub}public DrawView(Context context, AttributeSet attrs) {super(context, attrs);// TODO Auto-generated constructor stub}public DrawView(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);// TODO Auto-generated constructor stub}
View类有三个构造方法,你在继承时,至少要覆写其中一个,以便创建你的自定义View。这三个构造方法分别是一个参数,两个参数和三个参数的。一个参数的:在自己new对象建立此View时调用,也就是上面的new DrawView(this)这种。二个参数的:在xml中声明自定义View时调用,就是在main.xml里声明了<xx.xx.DrawView>这种三个参数的:也是在XML中声明自定义View时调用,但与两个参数的区别是这个加入了Style样式的引用,也就是说,如果你的 main.xml里<xx.xx.DrawView>中加入了style="@style/xxx.xml",就会调用这个三参的方法。综合以上所说的,如果三个构造方法都覆写,那么你的自定义View怎么建立都行。如果只想通过java程序代码建立,那么只需要覆写一个参数的。如果只想通过XML建立,那么需要覆写两个参数的,如果XML建立还想带样式,那么就必须同时覆写三个参数的构造方法了。
android5.0系统之后,又添加了一个四个参数的构造函数
public DrawView(Context context, AttributeSet attrs, int defStyleAttr,int defStyleRes) {super(context, attrs, defStyleAttr, defStyleRes);// TODO Auto-generated constructor stub}

0 0
原创粉丝点击