我在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();
}
显示的对话框右侧有一个很长的空间。 但是我想只显示没有正确空间的左循环图像。 如何修改?
答案 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);
答案 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的消息。
您可以在微调器右侧看到文本。我不能把文字变成白色。
答案 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();