Как создать ProgressBar программно? - PullRequest
72 голосов
/ 23 августа 2010

Мое приложение должно создавать маленькое ProgressBar программно.ProgressBar не имеет метода для установки стиля (я хочу маленький ProgressBar).Конструктор может принимать AttributeSet, однако это интерфейс и требует от меня реализации набора функций.Есть ли способ установить ProgressBar на маленький стиль?(Я не могу использовать XML для создания ProgressBar.)

Ответы [ 3 ]

171 голосов
/ 22 сентября 2010

В большинстве случаев, если вы предоставляете AttributeSet вручную, вы должны использовать один из Android.К счастью, они раскрыли набор атрибутов, который описывает небольшой индикатор выполнения.Используйте этот код:

progressBar = new ProgressBar(activity, null, android.R.attr.progressBarStyleSmall);
13 голосов
/ 23 августа 2010

Создайте XML-файл макета в директории res / layout с нужным индикатором выполнения, содержащим все необходимые вам атрибуты:

<?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-файл?

0 голосов
/ 16 апреля 2018

Activity.java

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

Проверьте здесь ProgressDialog устарел. Какой альтернативный использовать?

...