Android 自定义view FlowLayout流式布局

1. 自定义控件View的自定义流程:

  • 继承一个View-->重写onMeasure方法-->重写onDraw方法-->定义自定义属性-->处理手势操作

2. ViewGroup的自定义流程:

  • 继承一个ViewGroup-->重写onMeasure方法-->重写onLayout-->重写onDraw方法->定义自定义属性-->处理手势操作
  • 自定义 ViewGroup多了个onlayout方法。因为View已经是最小单元了,所以没有字View,所以没有onLayout方法

3. onMeasure

  • 遍历计算子View的宽高,动态加入行中,如果View的宽大于剩余的行宽就在取一行放下,

4. 其他方法

  1. invalidate()触发重新绘制,只能在主线程调用
  2. postInvalidate()直接调用去在子线程更新UI
  3. onAttachedToWindow()当View附加到窗体的时候调用该方法, 可以用于注册广播,注册EventBus
  4. onDetachedFromWindow() 当销毁View的时候,可以用来反注册广播监听,反注册EventBus
  5. onFinishInflate() 是当所有的子view都解析完后的一个调用
  6. requestLayout() 会触发measure过程和layout过程

你可能感兴趣的:(Android 自定义view FlowLayout流式布局)