当前位置: 首页 > 面试题库 >

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

裴姚石
2023-03-14
问题内容

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

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

我真的很困惑,这是必需的,因为我需要根据子项的宽度动态放置这些视图。


问题答案:

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

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


 类似资料:
  • 问题内容: 我正在运行程序 我得到的输出是。 我不明白这条线 子女的父母的PID为1 应该是3071? 问题答案: 因为在孩子要求其父母的pid之前,父进程已完成。 进程完成后,其所有子级都将重新分配为init进程的子级,其pid为1。 尝试使用父母的代码来等待孩子执行。然后,它应该会按预期工作。

  • 正如我在标题中所说,这对我来说毫无意义。应该返回宽度的方法返回1920,应该返回高度的方法返回1080。我做错什么了吗? 我的相机活动被锁定在竖屏中。我的手机是三星Note 4。由于我的手机是竖屏并锁定在那个方向,所以我的高度应该是1920,宽度应该是1080,但是当我没有将相机活动锁定在竖屏中时,它仍然返回错误的值,但是当它转到横向模式时,高度是1080,宽度是1920。 我的代码:

  • 我有一个使用Spring JPA的Spring项目。我有一个和的表,我已经将它们映射到中,如下所示: 品牌实体: 产品实体: 例如,我只想获取仅获取(品牌标识和品牌名称),而不获取产品,我如何仅获取品牌信息?非常感谢。 编辑1 我想访问所有品牌,但不访问每个品牌的。可能吗?还是我要创建另一个类? --编辑2-- 下面是使用 我想要的应该是和列,而不是@manytomy关系产生的

  • 问题内容: DO (等类似的功能和)的工作一样,还是他们返回元素的数组? 我问的原因是因为我试图使用更改所有元素的样式。见下文。 问题答案: 您的代码可以正常工作,因为ID必须是唯一的,因此该函数始终仅返回一个元素(或者如果找不到元素)。 然而,,,和其他方法返回元件的阵列状的集合。像使用真实数组那样对其进行迭代: 如果您喜欢较短的内容,请考虑使用jQuery:

  • 在.NET Framework 4.5中,由Trim()方法调用的专用TrimHelper()方法使用以下条件来确定是否需要修剪字符:(由.NET Reflector反编译的代码) 我想知道为什么IsBOMWhitesspace方法总是返回false?? 这是微软计划在未来改变/扩展的吗?例如,通过检查char是否为‘u efff’并在这种情况下返回true?

  • 我注意到,在使用扫描仪时,如果我想设置定界符或区域设置等属性,那么这样做的方法会返回扫描仪对象本身: 我不明白的是,如果属性被更改(而不是创建新对象),为什么它返回一个扫描器对象而不是void?这并不是说我必须将返回值存储在一个变量中——事实上,如果我尝试这样做,就像下面的代码中那样,Eclipse将发出消息:“lineScanner”在此位置未关闭: