Android – показывает неопределенный прогресс, без диалога

Я хочу показать свою панель прогресса в центре экрана, когда обработка происходит при нажатии кнопки. Но я просто хочу progressbar без диалогового windows.

Есть ли способ сделать это?

Это полностью объяснено в ApiDemos внутри SDK. Пример, который вы хотите, называется: ProgressBar3.java и может быть найден в \ ApiDemos \ src \ com \ example \ android \ apis \ view \

Кроме того, если вы хотите удалить границы диалогового windows, чтобы отобразить только индикатор выполнения, вы можете определить сам диалог как прозрачный вид / оверлей (это также объясняется в примерах).

Если вам не нужен диалог, просто поместите progressBar в свой макет, как и любой другой элемент представления, и установите видимость «INVISIBLE» или даже «GONE» по умолчанию.

Затем просто покажите его, когда вам нужно, изменив его на «VISIBLE» с помощью setVisibility в вашем коде и снова спрячьте его, когда задача будет выполнена, снова сделав его «INVISIBLE» или «GONE».

например

MyTask { // get handle on ProgressBar ViewItem defined in XML (id:progressBar) ProgressBar progressBar = findViewById(R.id.progressBar); //starting task, show progress bar progressBar.setVisibility(View.VISIBLE); // Do some stuff... //task done, hide it again progressBar.setVisibility(View.GONE); } 

Это простая версия, все сделано в streamе пользовательского интерфейса, но это должно быть легко адаптироваться, если вы используете асинхронную задачу или обработчики streamов. Просто покажите, спрячьте и опубликуйте любые обновления в диалоговом окне, пока вы находитесь в streamе пользовательского интерфейса, и выполняйте свою долговременную задачу в фоновом режиме.

@reflog: Это не то, что нужно. Думаю.

@lostInTransit:

Правильный способ достижения этого заключается в следующем:

  1. Создать собственный диалог
  2. Положите индикатор выполнения как только просмотр в диалоговом окне
  3. Установить фоновое окно диалогового windows
  4. Показать диалог.

Вот и все. Он работает для меня на устройствах с 1,5 до 2,1. Не пробовал 2.2.

-Yogesh

Ответ @Jesse Finnerty решил мою проблему. что я сделал:

 private ProgressBar mprogressBar; 

Внутренний oncreate (), как и другие кнопки и текстовые изображения, которые я сделал, mprogressBar = (ProgressBar) findViewById (R.id.progressBar);

Тогда в точке я хочу, чтобы вращающееся колесо появилось, я даю команду

 mprogressBar.setVisibility(View.VISIBLE); 

в точке, где я хочу, чтобы она исчезла.

 mprogressBar.setVisibility(View.INVISIBLE); 

На самом деле это происходит при переключении. так что, когда состояния в моей программе меняются, индикатор выполнения появляется и исчезает

Существует отличный пример того, что предлагает Йогеш:

Как легко центрировать индикатор прогресса в ProgressDialog (когда заголовок / текст не передавался)

Кредит отправляется на Macarse для его публикации.

  • Как загрузить XML-файл с сервера и сохранить его на SD-карте?
  • Как сделать панель инструментов прозрачной?
  • Android - получить детей внутри представления?
  • Пример Android для AsyncTask
  • Как оживить просмотр с переводом анимации в Android
  • Как импортировать набор значков в проект Android Studio
  • Использование classа приложения Android для сохранения данных
  • Применить тему к активности на Android?
  • Могу ли я сделать синхронный запрос с волейболом?
  • Android EditText Hint
  • Сообщение Android «Обнаружение экрана», если пользователь пытается предоставить разрешение при показе уведомления
  • Interesting Posts

    Лучший способ организовать много-много медиа-файлов?

    Почему вычитание этих двух раз (в 1927 году) дает странный результат?

    Каков наилучший способ создания строки разделенных элементов в Java?

    android string.xml чтение html тегов проблема

    Java-массивы печатают странные цифры и текст

    Есть ли в Windows 8 Explorer столбец FolderSize (или восстановить API-интерфейс обработчика столбцов)?

    Почему я не могу посетить http: // localhost через IE?

    Как объяснить обратные вызовы на простом английском языке? Как они отличаются от вызова одной функции от другой функции?

    Как выполнить итерацию свойств id classа R.java?

    Keep Find bar открыть все остальные вкладки в Firefox 25

    Ошибка Eclipse DDMS «Невозможно связать с локальным 8600 для отладчика»

    Автоматически сопоставлять файлы каталогов в другой каталог

    Рисование маршрута в MapKit в iPhone SDK

    Создайте файл folder.jpeg для видео из пакетного скрипта

    BuildConfig.DEBUG всегда false при создании проектов библиотеки с помощью gradleиента

    Давайте будем гением компьютера.