想要在Android中的运行时获得View(LinearLayout)的宽度

时间:2015-09-29 22:14:25

标签: android android-layout width android-linearlayout

如何在运行时获得LinearLayout的动态宽度?

我的意思是,我希望在运行时获得LinearLayout的宽度,LinearLayout可见性为"GONE"且xml布局中LinearLayout宽度为"match_parent"文件。

我可以使用onGlobalLayoutChangeListeneronPreDrawListener来获取宽度,但前提是我们的视图(LinearLayout)已经是“VISIBLE"状态,而不是"GONE"状态。

这是针对此问题的解决方案吗?

非常感谢你的时间。

2 个答案:

答案 0 :(得分:0)

只需获取对linearlayout的引用即可调用它" ll"并调用" ll.getWidth()"为您提供像素宽度...

答案 1 :(得分:0)

您可以使用getMeasuredWidth()方法:

int width = yourView.getMeasuredWidth();

PS :请注意,您需要在onMeasure()执行后调用它,否则视图大小尚未测量。