为什么LinearLayout子getWidth方法返回0?

Com*_*ver 2 java user-interface android android-activity

我有一个LinearLayout,这个LinearLayout将保存动态放置的视图.我需要找出LinearLayout子元素的宽度,但是必须在onCreate方法中完成.从研究中我发现你不能使用这种方法的getWidth.所以我使用onWindowFocusChanged,它适用于父LinearLayout(返回实际大小),但它不适用于它的子节点.

我注意到的另一件事是,当屏幕消失并且屏幕被锁定时,我可以在日志中看到返回的孩子的实际宽度(我认为活动正在暂停).

我真的被卡住了,这是必要的,因为我需要根据子宽度动态放置这些视图.

ab1*_*b11 5

您可以使用以下内容.但正如其他人指出的那样,这可能不是一个好主意.

LinearLayout.measure(MeasureSpec.UNSPECIFIED, MeasureSpec.UNSPECIFIED);
LinearLayout.getMeasuredWidth();
Run Code Online (Sandbox Code Playgroud)