78

我的应用程序需要以ProgressBar编程方式创建一个小的。 ProgressBar没有设置样式的方法(我想要一个小的 ProgressBar)。构造函数可以采用AttributeSet,但是,它是一个接口,需要我实现一组函数。有没有办法将其设置ProgressBar为小样式?(我不能使用 XML 来创建 ProgressBar。)

4

3 回答 3

177

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

progressBar = new ProgressBar(activity, null, android.R.attr.progressBarStyleSmall);
于 2010-09-22T00:55:20.593 回答
12

在 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文件吗?

于 2010-08-23T15:48:26.793 回答
0

活动.java

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

检查此处 ProgressDialog 已弃用。要使用的替代项是什么?

于 2018-04-16T12:11:34.770 回答