Подтвердить что ты не робот

Как создать программный пакет ProgressBar?

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

4b9b3361

Ответ 1

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

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

Ответ 2

Создайте 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 файл?

Ответ 4

Полный код для добавления индикатора выполнения программно

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

Вызов метода ниже для отображения строки

mProgressDialog.show();

вызов ниже, чтобы скрыть панель

mProgressDialog.dismiss();