0

我在 RelativeLayout 内都有一个 ProgressBar 和一个 VideoView,ProgressBar 以 z 顺序浮动在 VideoView 上方(在 XML 之后)。ProgressBar 是不确定的。当我切换视频源时,我通过将其可见性设置为 View.VISIBLE 来显示 ProgressBar,直到新视频正在播放。我在 UI 线程中执行此操作。

但是我的 ProgressBar 不会立即显示,尽管我的日志语句(也在 UI 线程中,在 setVisibility() 调用之前)立即发生。这需要几(2 或 3)秒。我已经尝试了很多方法来使 ProgressBar 立即显示并且已经没有想法了。

  • 添加动画(到 ProgressBar;也到 RelativeLayout)
  • 使可见性变化发生在动画结束时
  • 进度条.bringToFront()
  • progressBar.invalidate() 和 postInvalidate()
  • relativeLayout.invalidate() 和 postInvalidate()

如何让 ProgressBar 立即出现?

4

1 回答 1

1

可能尝试使完整视图无效或执行 setContentView(R.layout.abc);

我在类似情况下所做的也是使用调度程序启动后续代码,以便 UI 屏幕更新有时间更新并且不会被优先推回。如果您可以在代码中执行此操作,甚至 0.5 秒通常就足够了...?

于 2012-05-09T22:04:15.790 回答