以编程方式在某个视图上对中心进度对话框

时间:2016-09-30 15:58:22

标签: android progressdialog

我在布局中有一个包含9个surfaceView的网格。用户可以单击任何surfaceView来加载相机。在加载过程中,我需要在该表面视图上显示ProgressDialog。目前我这样做。

 pd = new ProgressDialog(getActivity(), R.style.MyTheme);
            pd.getWindow().setGravity(Gravity.CENTER_VERTICAL);
            pd.setCancelable(false);
            pd.setProgressStyle(android.R.style.Widget_Holo_ProgressBar_Large);
            pd.show();

这显然是一个进度对话框,但它将位于屏幕的中央。

如何让它在surfaceView上居中?

1 个答案:

答案 0 :(得分:1)

我认为你要找的是进度条而不是进度对话(如果我错了就纠正我)。

Difference between Progressbar and progressDialog

修改

这是进度条的语法。

ProgressBar(Context context, AttributeSet attrs, int defStyleAttr)

以下是创建进度条并将其居中的示例。

// Initialize a new Progressbar
ProgressBar progressBar = new ProgressBar(this, null, android.R.attr.progressBarStyleSmall);
// Set the Gravity for the parent view group
linearLayout.setGravity(Gravity.CENTER);
// Add the Porgress bar to the parent view group
linearLayout.addView(progressBar);

此处线性布局正在按住进度条。您可以将其替换为父视图。