ProgressBarとVideoViewの両方がRelativeLayout内にあり、ProgressBarがVideoViewの上にzオーダーで浮動している(XMLの後に)。 ProgressBarは不確定です。ビデオソースを切り替えると、新しいビデオが再生されるまでProgressBarが表示されます。その表示はView.VISIBLEに設定されます。私はUIスレッドでこれをやっています。VideoViewディスプレイにProgressBarオーバーレイを即座に作成する
しかし私のロギングステートメント(UIスレッドでも、setVisibility()呼び出しの直前)は即座に発生しますが、私のProgressBarはすぐには表示されません。数秒(2,3秒)かかります。私はすぐにProgressBarの表示をするために多くのことを試して、アイディアを使い果たしました。
- は(プログレスに、またRelativeLayoutに)アニメーションを追加
- 可視変化は
- progressBar.bringToFront()
- progressBar.invalidate()とpostInvalidate()を終了アニメーションで実現します
- relativeLayout.invalidate()とpostInvalidate()
どのように私は、プログレスバーがすぐに表示させることができますか?
ありがとうございます。私はスケジューラーのアプローチを試みたが、それは役に立たなかった。 –
これは本当に奇妙です - これまでのところ、私の場合はいつも働いていました。 UIが更新されないようにする他のタスクがあるはずです。 2〜3秒の遅延でも機能しないのでしょうか?それから確実にUIが更新されないようにしなければなりません! – user387184
私は何が起こっていると思うのは、他のメソッドからのUIスレッドのブロックです。コードはかなりひどく絡まっています。 –