使用换行内容时获取宽度和高度

foo*_*nt. 1 java layout android android-layout

当涉及到从视图获取坐标或大小时,我有点困惑。有时,当我使用布局参数使用 WRAP_CONTENT 时,我尝试通过布局参数检索宽度,我将获得 WRAP_CONTENT 的 CONSTANT 值,以及 getWidth()、getHeight()、getX()、getY()、getLeft () 或任何类似于获取大小和坐标的方法都不起作用。

如何实现在包装内容后,我将能够检索视图本身的实际值的情况。

有人可以帮我弄这个吗。谢谢。

小智 7

int wrapSpec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
view.measure(wrapSpec, wrapSpec);
Run Code Online (Sandbox Code Playgroud)

之后view.getMeasuredWidth()应该view.getMeasuredHeight()返回有效的宽度和高度。

注意:UNSPECIFIED这是比选择非常大的限制更好的方法。


Ron*_*nie 5

你应该使用getMeasuredWidth()getMeasuredHeight()

  • 总是得到 0 。有什么解决办法吗? (2认同)