android - 为什么 onPreDraw() 被调用两次?

标签 android view width

我试图使用 textView.getTop() 方法但只得到 0。我使用 onPreDraw() 方法作为 kcoppockthis question 中说.

但是,在我的情况下,onPreDraw() 方法被调用了两次。

我可以处理,但我只想知道 onPreDraw() 方法何时被准确调用。谷歌的文档说它是在即将绘制 View 树时调用的。这实际上是什么意思?

有没有 friend 可以告诉我或者告诉我在哪里可以找到答案?谢谢!

最佳答案

监听器将报告所有 onPreDraw() 直到您 remove听众。
如果您只想收到一份 onPreDraw() 报告,请尝试新的 androidx OneShotPreDrawListener

关于android - 为什么 onPreDraw() 被调用两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20740447/

相关文章:

android - Android 库应该定义 targetSdkVersion 吗?

android - 在 Lollipop 崩溃前使用 android vector Drawables

mysql - rails 4 : Displaying tables related with user_id

android - 如何检查 View 是否设置了特定背景

html - 违背数学的神秘 div 宽度......当 (33 + 33 + 33) > 100

html - CSS 宽度 - Nexus 4

java - 从 Activity 的 fragment 中获取一个按钮

java - 安卓 TCP : error EHOSTUNREACH

android - 如何为自定义 Android 通知向 RemoteView 添加垂直线?

jquery $(window).width() 和 $(window).height() 在未调整视口(viewport)大小时返回不同的值