View 没有绘制子view
时间: 2023-06-14 16:05:03 浏览: 129
Android View 绘制流程(Draw)全面解析
如果 `View` 没有绘制子 `View`,可能是以下原因之一:
1. 没有调用 `onMeasure()`,`onLayout()` 和 `onDraw()` 方法。这些方法是 `View` 绘制子 `View` 的核心方法,必须正确实现。
2. 没有添加子 `View` 到 `ViewGroup` 中。在 `ViewGroup` 的 `onMeasure()` 方法中,需要遍历所有子 `View` 并测量它们的大小。如果没有添加子 `View`,就无法绘制它们。
3. 子 `View` 的大小为 0。如果子 `View` 的大小为 0,它将无法显示。请确保在测量子 `View` 的大小时,使用正确的测量规格。
4. 子 `View` 的可见性为 `GONE`。如果子 `View` 的可见性为 `GONE`,它将不会被绘制。请确保在调用 `setVisibility()` 方法时,使用正确的参数。
如果以上方法都没有解决问题,可以在 `onDraw()` 方法中绘制子 `View`。但这种方法不是最优解,因为它会增加绘制时间和内存占用。
阅读全文