------- 代码
① 何时回调这2个方法已经在代码里说明。
public class MyFrameLayout extends FrameLayout {
public MyFrameLayout(Context context) {
this(context, null);
}
public MyFrameLayout(Context context, AttributeSet attrs) {
this(context, attrs, -1);
}
public MyFrameLayout(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
/**
* View本身在xml中被引用,被解析完成,由View本身的父View回调该方法
*/
@Override
protected void onFinishInflate() {
super.onFinishInflate();
Toast.makeText(getContext(), getClass().getSimpleName() + "complete inflate", Toast.LENGTH_SHORT).show();
}
/**
* View本身作为父View,当有子View添加进来时,由View本身回调该方法
*
* @param child
*/
@Override
public void onViewAdded(View child) {
super.onViewAdded(child);
Toast.makeText(getContext(), getClass().getSimpleName() + "view added", Toast.LENGTH_SHORT).show();
}
}