0

ProgressBarとVideoViewの両方がRelativeLayout内にあり、ProgressBarはVideoViewの上にzオーダーで浮かんでいます(XMLではその後)。ProgressBarは不確定です。ビデオソースを切り替えると、可視性をView.VISIBLEに設定して、新しいビデオが再生されるまでプログレスバーを表示します。私はこれをUIスレッドで行っています。

しかし、私のログステートメント(UIスレッドでもsetVisibility()呼び出しの直前)がすぐに発生しますが、ProgressBarはすぐには表示されません。数秒(2または3)かかります。ProgressBarをすぐに表示するために多くのことを試みましたが、アイデアが不足しました。

  • アニメーションを追加します(ProgressBarに、RelativeLayoutにも)
  • アニメーションの終了時に可視性の変更を行う
  • progressBar.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 に答える