Android Show Progress Bar位于视频顶部

时间:2013-12-25 00:09:39

标签: android video android-asynctask progressdialog

现在,进度条显示在屏幕中央。 所以用户需要等到下载进度完成,因为 整个屏幕是无法工作的。 我想在下载视频时显示进度条(参见图片)。

image

所以A部分是视频部分。视频正在下载时 我想允许用户使用B部分。

当前代码,我在AsyncTask中的onPreExcute方法上调用ProgressDialog

 protected void onPreExecute() {
            super.onPreExecute();
            pDialog = ProgressDialog.show(getActivity(), "Loading...", "Please wait...", true);
        }

并关闭onPostExecute对话框

 protected void onPostExecute(String file_url) {
            // dismiss the dialog after the file was downloaded
            pDialog.dismiss();
        }

1 个答案:

答案 0 :(得分:0)

你可以使用它: -

首先在XML格式的相对布局中声明您的视频视图

<RelativeLayout
            android:id="@+id/videoLayout"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/channel_icon_small"
            android:layout_marginLeft="@dimen/dp4_space"
            android:layout_marginTop="@dimen/dp8_margin" >


            <VideoView
                android:id="@+id/videoView"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_marginTop="@dimen/dp8_margin" />
        </RelativeLayout>

然后你可以动态添加ProgressBar: -

ProgressBar mProgressBar = new ProgressBar(this);
        mProgressBar.setIndeterminate(true);
        mProgressBar.setVisibility(View.VISIBLE);
        mProgressBar.setEnabled(true);

        RelativeLayout.LayoutParams lProgressBarLayoutParms = new RelativeLayout.LayoutParams(
                ViewGroup.LayoutParams.WRAP_CONTENT,
                ViewGroup.LayoutParams.WRAP_CONTENT);
        lProgressBarLayoutParms.addRule(RelativeLayout.CENTER_IN_PARENT);
        mProgressBar.setLayoutParams(lProgressBarLayoutParms);
        mVideoLayout.addView(mProgressBar);

您可以在AsyncTask的onPreExecute()方法中使用以下代码,然后在onPostExecute()方法中隐藏进度条