Android中View窗口getWidth和getMeasuredWidth的差别

Posted slgkaifa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android中View窗口getWidth和getMeasuredWidth的差别相关的知识,希望对你有一定的参考价值。

今天在研究自己定义listview的下拉刷新的效果。想移植到项目需求中,再看自己定义源代码时发现了一个问题就是getWidth和getMeasuredWidth两个方法有什么差别,求教万能的百度,经调研发现这两个方法的不同点是,getWidth获得的是当前View的可视的宽度,可是向下拉刷新这种需求,那个头部提示的View是隐藏起来的这样用getWidth就获取不到View的宽度了。所以採取getMeasuredWidth的方式获得。

getMeasuredWidth的方法代表了能够获取View的可视化宽度+隐藏地方的宽度。在这个需求中我们的headView始终是隐藏的所以仅仅有通过这个getMeasuredWidth的方法才干够获得到想要的宽度,一下是一张图代表了我说的原理,这样更直观一些。

技术分享

特别感谢帖子地址:http://blog.sina.com.cn/s/blog_6e519585010152s5.html


以上是关于Android中View窗口getWidth和getMeasuredWidth的差别的主要内容,如果未能解决你的问题,请参考以下文章

Android getWidth和getMeasuredWidth

android view getWidth() 即使在 onPreDraw() 中也返回 0

android 面试题

View的getMeasuredWidth和getWidth有什么区别?

getWidth 和 getHeight 返回零

为啥在 onResume() 中对 View 调用 getWidth() 返回 0?