我想知道是否可以知道屏幕上是否已绘制视图。
我对设置一个监听器并等待它并不感兴趣,因为我已经知道如何做到这一点。我正在寻找一个电话,如果视频当前在屏幕上,则获得真/假。
我不相信我可以简单地检查可见性,因为这是一个预设变量,无论其状态如何,但我可能是错的。
如果视图没有绘制,我将设置一个ViewTreeObserver并等待它,但只有在尚未绘制视图时才需要。
答案 0 :(得分:1)
因为getVisibility()返回一个预定义的属性,你不想设置一个监听器;我认为唯一的选择是View.isShown()。 我希望这会有所帮助。
答案 1 :(得分:0)
如果您只想观察一个视图,请尝试创建自定义视图并覆盖draw()
并在其中设置一个标记,如:
public DemoView extends TextView {
private boolean mHasDrawn;
// ...
@override
public void draw(Canvas canvas) {
super.draw(canvas);
mHasDrawn = true;
}
}
然后您可以检查mHasDrawn
以确保已绘制视图。
但是,我认为设置一个听众比这更好。