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
如对本文有疑问, 点击进行留言回复!!
android studio 55线程更新UI handler
使用枚举 Enum 来减少 if else,快来看看适不适合你吧?
三方app跳转APN设置提示“此用户无权修改接入点名称设置”解决方案
网友评论