如何以编程方式创buildProgressBar?

我的应用程序需要以编程方式创build一个小的progressBar。 ProgressBar没有方法来设置样式(我想要一个小的progressBar)。 构造函数可以接受一个AttributeSet,但它是一个接口,并要求我实现一组函数。 有没有办法设置progressBar的小风格? (我不能用xml来创buildprogressBar)

大多数情况下,如果您手动提供AttributeSet ,则必须使用Android的一个。 幸运的是,他们已经公开了描述一个小进度条的属性集。 使用此代码:

 progressBar = new ProgressBar(activity, null, android.R.attr.progressBarStyleSmall); 

在res / layout目录中创build一个布局xml文件,并带有所需的进度条包含您需要的所有属性:

 <?xml version="1.0" encoding="utf-8"?> <ProgressBar xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" ... /> 

接下来在Activity类中,您可以从该布局创buildProgressBar对象:

 LayoutInflater inflater = getLayoutInflater(); ProgressBar bar = (ProgressBar ) inflater.inflate(R.layout.small_progress_bar, null); 

其中R.layout.small_progress_bar链接到您的布局xml文件。

你仍然可以不使用XML文件?

用于以编程方式添加进度栏的完整代码

 private ProgressDialog mProgressDialog; mProgressDialog = new ProgressDialog(this); mProgressDialog.setMessage("Signing........"); mProgressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); mProgressDialog.setCancelable(false); 

调用下面的方法来显示栏

 mProgressDialog.show(); 

请在下面调用以隐藏栏

 mProgressDialog.dismiss();