Android:如何判断 View 已变为可见?

标签 android android-view

我有一个 FrameView,顶部包含一个全屏 ImageView,下面包含一个全屏 SurfaceView。当我显示 SurfaceView 时,ImageView 开始不可见。现在我将 ImageView 设置为 VISIBLE,并想要更新 SurfaceView 上看不见的内容。

但是 ImageView 还没有真正可见。我必须等到 ImageView 真正可见才可以搞乱 SurfaceView。这是如何完成的?

我发现的唯一方法是在处理 SurfaceView 之前等待 50 毫秒(再少也行)。这恰好在我的设备上可靠地工作,但显然是一个黑客行为。

更具体地说:在 SurfaceView 上我正在准备一部电影。这使得屏幕变黑。我试图通过用图像覆盖它来避免黑色。

感谢任何帮助!

最佳答案

您可以使用View.onVisibilityChanged()。

关于Android:如何判断 View 已变为可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10473412/

相关文章:

android - Kivy - 如何从 ListView 调用函数?

android - View 在 CardView 中被标记

android - 如何以编程方式设置 View 的最小高度?

java - InflateException 二进制 XML 文件,第 7 行 : Error inflating class fragment

android - 如何将应用程序/apk 转换为系统/用户应用程序,包括拆分 apk 应用程序

android - 在 Android 中移动位图时的图像轨迹

android - 将内容描述设置为图像按钮时出现问题

android - ConstraintLayout 使单元格项适合屏幕视口(viewport)

Android 浏览量 : can checking visibility before setting visibility improve performance?

android - fitSystemWindows 以编程方式实现状态栏透明度