我们在继承至View实习自定义View的时候,一般会重写其中的三个构造方法,但你知道这些构造方法在什么情况下会调用吗?
一个参数的构造方法
//这个是在我们使用new关键字来创建View的时候调用
//CTextView ctv =new CTextView(this);
public CTextView(Context context) {
super(context);
}
两个参数的构造方法
//这个会在我们将View写在XML中的时候调用
public CTextView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
}
三个参数的构造方法
//这个会在我们将View写在XML中,并且自定义了style的时候会调用
public CTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
网友评论