自定义ViewGroup实践
自定义ViewGrouop - FlowLayout
实现方式
继承特定ViewGroup,例如
LinearLayout
比较常见,效果类似于一堆View的组合。
实现比较简单,无需自己处理测量与布局的过程。
继承
ViewGroup
派生特殊layout主要用于实现自定义的布局,按照自身需求制定不同的显示方法。
实现稍微复杂,还需要对ViewGroup进行处理,主要是自身的
onMeasure()、onLayout()
以及子View的measure
过程
注意事项
- 注意
wrap_content
的影响 - 注意
margin、pandding
的实现
实现步骤
创建ViewGroup
继承ViewGroup
1 |
|
处理ViewGroup布局
测量ViewGroup大小
通过onMeasure()
进行ViewGroup的测量,其中需要先对子View进行测量,然后根据子View的结果确认最终ViewGroup的大小。
1 |
|
确定ViewGroup位置
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!