2

我正在使用来自 AndroidDevelopers 网站 ( http://developer.android.com/guide/topics/ui/layout/listview.html ) 的以下代码行:

ProgressBar progressBar = new ProgressBar(this);
progressBar.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
            LayoutParams.WRAP_CONTENT, Gravity.CENTER));
progressBar.setIndeterminate(true);
getListView().setEmptyView(progressBar);

// Must add the progress bar to the root of the layout
ViewGroup root = (ViewGroup) findViewById(android.R.id.content);
root.addView(progressBar);

代码行,

progressBar.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
            LayoutParams.WRAP_CONTENT, Gravity.CENTER));

似乎有一个错误,因为没有 LayoutParams 构造函数需要三个参数。我想让我的进度条位于屏幕中央。上面的代码有什么修复吗?

4

3 回答 3

4

这只是一个导入命名空间问题。使用下面的导入行。

import android.widget.FrameLayout.LayoutParams;
于 2015-10-24T10:50:23.430 回答
2

实际上 FrameLayout 确实如此。

FrameLayout.LayoutParams(int width, int height, int gravity)

使用指定的宽度、高度和重量创建一组新的布局参数。

http://developer.android.com/reference/android/widget/FrameLayout.LayoutParams.html

于 2013-07-11T17:12:05.977 回答
0
private ProgressDialog progressDialog;
progressDialog = new ProgressDialog(MainActivity.this);
progressDialog.setTitle("MyMessage");
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setMax(1000);
progressDialog.setMessage("MyMessage");
progressDialog.setCancelable(false);
progressDialog.show();
progressDialog.setProgress(10);

您还可以使用 setView() 方法对其进行自定义

于 2013-07-11T17:18:15.340 回答