1.onMeasure()->onDraw()->onLayout()
int widthMode = MeasureSpec.getMode(widthMeasureSpec);
int widthSize = MeasureSpec.getSize(widthMeasureSpec);
| 测量模式 | 表示意思 |
|---|---|
| UNSPECIFIED | 父容器没有对当前View有任何限制,当前View可以任意取尺寸 |
| EXACTLY | 当前的尺寸就是当前View应该取的尺寸 |
| AT_MOST | 当前尺寸是当前View能取的最大尺寸 |
2.若是需要配置自定义样式,需要在styles/文件下创建自定义样式。在自定义View的构造函数中就获取自定义样式属性。
3.onDraw() 一般是用来绘制非矩形形状背景用。使用Paint,Canvas实现。
4.onLayout()一般是自定义ViewGroup的时候使用到。定义子View在父布局中摆放位置。较复杂的位置摆放需要考虑屏幕适配问题。否则易出现在不同手机上布局异常。
自定义View绘制与布局

本文介绍了Android自定义View的基本流程:onMeasure()用于确定View大小;onDraw()用于绘制View,常用Paint和Canvas实现非矩形背景;onLayout()用于自定义ViewGroup时摆放子View的位置,并强调了屏幕适配的重要性。
4633

被折叠的 条评论
为什么被折叠?



