当前位置: 移动技术网 > 移动技术>移动开发>Android > getMeasuredWidth, getWidth 有什么区别?

getMeasuredWidth, getWidth 有什么区别?

2020年07月27日  | 移动技术网移动技术  | 我要评论

原始网页直通车


getMeasuredWidth 返回的是测量后的宽度,这个宽度是在 setMeasuredDimension 方法被调用后刷新的。( measure 方法最终会调用 setMeasuredDimension 方法)


getWidth 返回的是 layout 出来的宽度,在 View 代码中返回的是 mRight - mLeft ,这两个变量是在 setFrame 方法被调用后赋值的。( layout 方法中会调用 setFrame


也就是说, getMeasuredWidth 返回值的大小,取决于 setMeasuredDimension ,而 getWidth ,则取决于 layout


在大多数情况下,这两个方法返回的大小都是一样的。

但是在下面这样的情况下就不一样了:

在自定义的 ViewGroup 中,你在 XML 中对 子View 写死了宽度,但是这个 ViewGroup 的排版是固定的一行两个(左右各一个,宽度相同),那么这个 子View 的宽度,就会被强制设置成屏幕的一半,而不是你在 XML 中所设置的宽度。

本文地址:https://blog.csdn.net/qq_26810645/article/details/107598186

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网