如何以编程方式创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();