我希望在播放视频之前显示进度对话框。我尝试了以下链接示例来播放视频。
http://davanum.wordpress.com/2009/12/04/android-%E2%80%93-videomusic-player-sample-take-2/
它可以工作,但播放视频需要更长的时间,因此我想在开始播放视频之前显示进度对话框。请告诉我如何在播放视频之前显示进度对话框。
谢谢。
最好的问候。
http://davanum.wordpress.com/2009/12/04/android-%E2%80%93-videomusic-player-sample-take-2/
它可以工作,但播放视频需要更长的时间,因此我想在开始播放视频之前显示进度对话框。请告诉我如何在播放视频之前显示进度对话框。
谢谢。
最好的问候。
首先,声明进度对话框
private static ProgressDialog progressDialog;
然后,在 onCreate 中,在调用 runOnUiThread 之前启动对话框
progressDialog = ProgressDialog.show(this, "", "Loading...", true);
在playVideo中,设置一个OnPreparedListener,当视频准备好播放时,将其关闭。mVideoView.setOnPreparedListener(new OnPreparedListener() {
public void onPrepared(MediaPlayer arg0) {
progressDialog.dismiss();
mVideoView.start();
}
});
在我看来,在这种情况下,与其使用进度对话框,不如使用ProgressBar小部件更加优雅。它在视频界面上看起来更好。你可以将进度条添加到你的活动布局中,在VideoView上方:
<ProgressBar
android:id="@+id/progress"
android:indeterminate="true"
android:indeterminateBehavior="repeat"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_gravity="center">
</ProgressBar>
mProgress = (ProgressBar)findViewById(R.id.progress);
mProgress.setVisibility( View.VISIBLE );
mProgress.setVisibility( View.INVISIBLE );
onPreExecute()
方法中,您可以执行进度对话框设置,例如:pd.setMessage(...) pd.setTitle(...) pd.show(...)
onPostExecute(...)
方法中,关闭对话框:pd.dismiss();
incrementProgressBy(...)
方法更新进度对话框,或者使用setIndeterminate(...)
方法循环动画。在UI设计中给用户提供已加载进度的反馈是个好主意 :)