How to create a ProgressBar programmatically?

我的应用程序需要以编程方式创建一个小的 ProgressBarProgressBar没有设置样式的方法(我想要一个小的 构造函数可以接受一个 AttributeSet,但是,它是一个 interface and requires me to implement a set of functions. Is there a way 将 ProgressBar设置为一个小样式? (我不能使用 XML 来创建 ProgressBar)

103744 次浏览

在 res/layout 目录中创建一个布局 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 类中,您可以从该布局创建 ProgressBar 对象:

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

其中 R.layout.small _ Progress _ bar 链接到您的布局 xml 文件。

您仍然不能使用 xml 文件吗?

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

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

Java

  progressBar = (ProgressBar) findViewById(R.id.progressbar);
`progressBar.setVisibility(View.VISIBLE);`// To Show ProgressBar
`progressBar.setVisibility(View.INVISIBLE);` //To Hide ProgressBar

看这里 ProgressDialog is deprecated.What is the alternate one to use?