通常情况下,我们自定义一个MyView继承自View,除了必须提供关键的构造函数外,还需要重写以下函数 onAttachedTowindow(),onMeasure(),onSizeChanged(),onDraw()等。
在使用自定义view的时候,在布局文件中像使用系统控件一样直接添加即可<包名.模块名.MyView />那么xml布局文件调用的是哪一个构造函数呢,通过log可以很清晰地看出是public MyView(Context context, AttributeSet attrs),当然我们还可以使用代码来创建自定义view,使用自定义的构造函数。
通常这几个重写的函数的调用顺序如下:
首次启动:构造函数->onAttachedTowindow()->onMeasure()->onSizeChanged()->onDraw()
横屏模式启动:构造函数->onAttachedTowindow()->onMeasure()->onMeasure()->onSizeChanged()->onDraw()