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

标签 java android user-interface android-activity

我有一个 LinearLayout,这个 LinearLayout 将保存动态放置的 View 。我需要找出 LinearLayout 子项的宽度,但这必须在 onCreate 方法中完成。通过研究,我发现您不能通过这种方法使用 getWidth。因此,我改用 onWindowFocusChanged,它适用于父 LinearLayout(返回实际大小),但不适用于其子项。

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

我真的卡住了,这是必需的,因为我需要根据 child 的宽度动态放置这些 View 。

最佳答案

您也许可以通过以下方式获得。但正如其他人指出的那样,这可能不是一个好主意。

LinearLayout.measure(MeasureSpec.UNSPECIFIED, MeasureSpec.UNSPECIFIED);
LinearLayout.getMeasuredWidth();

关于java - 为什么 LinearLayout 子 getWidth 方法返回 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10923321/

相关文章:

java - 如何在 Java 中更改 RadioGroup 的颜色

matlab - 运行 GUI 需要在 GUIDE 中打开 .fig 文件

c - 我如何编写命令行界面?

java - libGDX Sprite 渲染失败

android - bearingTo(Location dest) 究竟计算什么?

android - 已安装 Google Play 服务,但文件夹 google_play_services_lib 不存在

templates - 无法在cloudstack上注册ISO或模板

Java:在for循环init中初始化多个变量?

java - API 级别 28 的 Android-ProviderTestCase2 不工作

java - 算法 - 仅针对队列中的唯一条目执行任务,常见条目应该等待