使ProgressBar立即叠加在VideoView显示上

时间:2012-05-09 21:13:30

标签: android android-videoview android-progressbar

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

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

  • 添加动画(进入ProgressBar;也可以添加到RelativeLayout)
  • 在动画结束时进行可见性更改
  • progressBar.bringToFront()
  • progressBar.invalidate()和postInvalidate()
  • relativeLayout.invalidate()和postInvalidate()

如何立即显示ProgressBar?

1 个答案:

答案 0 :(得分:1)

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

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