ProgressDialog风格

时间:2012-02-02 09:24:17

标签: android progressdialog

我在AsyncTask方法中显示ProgressDialog。 我的代码如下:

@Override
protected void onPreExecute() {
super.onPreExecute();
progDailog = new ProgressDialog(MyActivity.this.getParent());
progDailog.setIndeterminate(false);
progDailog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
progDailog.setCancelable(true);
progDailog.show();
}

显示的对话框右侧有一个很长的空间。 但是我想只显示没有正确空间的左循环图像。 如何修改?

5 个答案:

答案 0 :(得分:5)

右边的空格是因为通常旋转器右侧还有一个Text。 如果您只想显示微调器,请使用AlertDialog:

AlertDialog.Builder builder = new AlertDialog.Builder(this);
ProgressBar pbar = new ProgressBar(this);
builder.setView(pbar);
builder.create().show();

答案 1 :(得分:2)

尝试使用ProgressBar并将其添加到LinearLayout,如下所示。在我的案例中,它有效。

ProgressBar mSpinner = new ProgressBar(this);
mSpinner.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
mSpinner.setBackgroundResource(R.drawable.loading_1);
mSpinner.setIndeterminate(true);
lyt.addView(mSpinner);

enter image description here

答案 2 :(得分:1)

您可以使用此代码设置进度对话框布局的宽度和高度。

 public void onCreate(Bundle savedInstanceState) {   
        requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
    }
    @Override
       protected void onPreExecute() {
    super.onPreExecute();
    progDailog.getWindow().setLayout(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    }

答案 3 :(得分:1)

请注意,微调器右侧不是空白区域,是文本,但黑色背景不允许您看到它。当我在手机中测试时,我注意到了它,我看到了ProgressDialog的消息。

enter image description here

您可以在微调器右侧看到文本。我不能把文字变成白色。

答案 4 :(得分:0)

我解决了这段代码:

ProgressBar pbar = new ProgressBar(this);
pbar.setBackgroundColor(getResources().getColor(android.R.color.white));
int padding = getResources().getDimensionPixelOffset(R.dimen.dialog_default_padding);
pbar.setPadding(padding, padding, padding, padding);
Dialog = progress = new Dialog(this);
progress.requestWindowFeature(Window.FEATURE_NO_TITLE);
progress.setContentView(pbar);
progress.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
progress.show();