在onActivityCreated()之前或之后调用onDraw()吗?

Hen*_*nry 0 android ondraw android-fragments android-canvas android-view

我在onCreateView()Fragment中夸大了版面。此布局包含一个自定义视图。现在文档onActivityCreated()说,这是“ 片段的活动已创建时调用这个片段的视图层次实例化 ”。这意味着布局已膨胀,并且布局中的视图之前已创建onActivityCreated()

那么,这是否意味着视图的onLayout()onSizeChanged()onDraw()方法之前调用onActivityCreated()

Hen*_*nry 5

没有

onActivityCreated()首先被称为。onSizeChanged()onLayout()onDraw()在以后调用。“ 实例化视图层次结构 ” 文档的意思是创建视图(调用了它们各自的构造函数),并且您可以使用findViewById()获取对视图的引用。仅此而已。

这有什么意义?好了,这意味着你不能得到widthheight在视图中onActivityCreated()。它只会返回0。

以下是调用方法的顺序:

1-> Fragment- onCreateView()
2-> View        - CustomView()//构造函数
3-> Fragment- onViewCreated()
4-> Fragment- onActivityCreated()
5-> Fragment- onResume()
6-> View        - onMeasure()
7-> View        - onSizeChanged()
8-> View        - onLayout()
9-> View        -onDraw()