在从视图中获取坐标或大小时,我有点困惑。有时,当我使用布局参数使用WRAP_CONTENT时,我尝试通过布局参数检索宽度,我将获得CONSTANT值WRAP_CONTENT,以及getWidth(),getHeight(),getX(),getY(),getLeft ()或类似于获得大小和坐标的任何方法都不起作用。
如何实现在包装内容后,我将能够检索视图本身的实际值。
有人可以帮我解决这个问题。感谢。
答案 0 :(得分:3)
您应该使用getMeasuredWidth()
和getMeasuredHeight()
答案 1 :(得分:1)
int wrapSpec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
view.measure(wrapSpec, wrapSpec);
之后view.getMeasuredWidth()
和view.getMeasuredHeight()
应返回有效的宽度和高度。
//更新:我是一个白痴,缺少一种更好的方法