Я сталкивался, чтобы видеть, что ProgressDialog
теперь осуждается. Что бы использовать вместо этого, кроме ProgressBar
. Я использую Android Studio версии 2.3.3.
ProgressDialog progressDialog=new ProgressDialog(this);
progressDialog.show();
Я сталкивался, чтобы видеть, что ProgressDialog
теперь осуждается. Что бы использовать вместо этого, кроме ProgressBar
. Я использую Android Studio версии 2.3.3.
ProgressDialog progressDialog=new ProgressDialog(this);
progressDialog.show();
Ответы:
Да,
API level 26
это не рекомендуется. Вместо этого вы можете использоватьprogressBar
.Чтобы создать его программно:
Сначала получите ссылку на корневой макет
или
Затем добавьте индикатор выполнения
Чтобы показать индикатор выполнения
Чтобы скрыть индикатор выполнения
Чтобы отключить взаимодействие с пользователем, вам просто нужно добавить следующий код
Чтобы вернуть взаимодействие с пользователем, вам просто нужно добавить следующий код
Просто для справки в будущем, изменить
android.R.attr.progressBarStyleSmall
кandroid.R.attr.progressBarStyleHorizontal
.Код ниже работает только выше
API level 21
Чтобы создать его через XML:
В вашей деятельности
Показывать / скрывать индикатор выполнения - то же самое
Вот пример изображения того, как это будет выглядеть:
Для более подробной информации:
1. Ссылка один
2. Ссылка два
источник
Вы можете использовать,
AlertDialog
какProgressDialog
указано ниже код дляProgressDialog
. Эту функцию нужно вызывать всякий раз, когда вы показываете диалог прогресса.Код:
Вывод:
источник
AlertDialog
быть, не следует использовать здесь.Это устарело
Android O
из-заGoogle
нового стандарта пользовательского интерфейсаисточник
Вы можете просто спроектировать интерфейс xml для вашего индикатора выполнения и передать его в качестве представления AlertDialog, а затем показать или закрыть диалоговое окно в любое время.
progress.xml
Код, который отображает диалог прогресса. Просто скопируйте этот код и вставьте его в свой фрагмент.
Затем просто вызывайте метод всякий раз, когда вы хотите показать progressdialog, и передайте true в качестве аргумента, чтобы показать его, или false, чтобы закрыть диалоговое окно.
источник
this
, чтобы она выглядела так.AlertDialog.Builder builder = new AlertDialog.Builder(this);
Пожалуйста, убедитесь, что вы копируете правильный код.layout_toEndOf
могут быть удалены, поскольку не дляLinearLayout
ProgressBar очень прост и удобен в использовании, я собираюсь сделать то же самое, что и простой диалог прогресса. Первым шагом является то, что вы можете сделать XML-макет диалога, который вы хотите показать, скажем, мы назовем этот макет
Следующим шагом является создание AlertDialog, который покажет этот макет с ProgressBar
Теперь все, что осталось, это показать и скрыть этот диалог в наших событиях кликов, как это
и это все, это должно работать, как вы можете видеть, это просто и легко реализовать ProgressBar вместо ProgressDialog. Теперь вы можете показать / закрыть это диалоговое окно либо в Handler, либо в ASyncTask, по вашему желанию.
источник
progress_dialog.show();
наbuilder.show();
. Спасибо.show()
/dismiss()
, но я не поставил его,builder.show()
потому что тогда, чтобы отменить его, мы должны были бы сделать это,dialog.dismiss()
что вводит в заблуждение тех, кто любит, чтобы их код был простым и легким для понимания, а также потому чтоbuilder.show()
возвращаетAlertDialog
объект, и нам нужно будет сохранить эту ссылку, какAlertDialog dialog = builder.show();
тогда, сделатьdialog.dismiss()
легчеbuilder.create()
возвращать в некоторомAlertDialog
объекте, а затем использовать этот объект, чтобы показать и скрыть диалогДа, ProgressDialog устарела, а Dialog - нет.
Вы можете надуть свой собственный XML - файл (содержащий индикатор и текст загрузки) в диалоговый объект , а затем отобразить или скрыть его , используя
show()
иdismiss()
функцию. Вот пример (Котлин):Класс ProgressDialog :
XML
В вашем коде : просто делай
var dialog = ProgressDialog.progressDialog(context)
Показывать:
dialog.show()
Прятаться:
dialog.dismiss()
источник
Ну, если вы действительно хотите пойти против их воли, вы все равно можете использовать Sweet Alert Dialog или создать его самостоятельно.
Java-код:
источник
HideProgress
ничего не делает.ProgressBar - лучшая альтернатива для ProgressDialog. Элемент пользовательского интерфейса, который указывает на ход операции.
Для получения дополнительной информации см. Этот документ Google: https://developer.android.com/reference/android/widget/ProgressBar.html
источник
Вам не нужно импортировать любую пользовательскую библиотеку.
Я предпочитаю использовать модерн,
AlertDialog
так что это версия Kotlin для отличного ответа, размещенного Кишан Донгой на этой странице.Код Котлина:
Использование:
Вывод:
источник
view!!.context
Как уже упоминалось на странице документации, альтернатива есть
ProgressBar
.ProgressDialog
Внешний вид может быть воспроизведен путем размещенияProgressBar
вAlertDialog
.Вы все еще можете использовать его, но Android не хочет, чтобы вы использовали его, поэтому он устарел. Таким образом, вы должны рассмотреть решение вашей проблемы другим способом, например, встраивание
ProgressBar
в вашуLayout
.источник
относится к функциям или элементам, которые находятся в процессе замены на более новые."Deprecated"
преимущество
Я бы лично сказал, что
ProgressBar
имеет преимущество над двумя.ProgressBar
является элементом пользовательского интерфейса, который указывает на ход операции. Отображать индикаторы выполнения для пользователя без перерыва . Показать индикатор выполнения в пользовательском интерфейсе вашего приложения.источник
Я использую DelayedProgressDialog из https://github.com/Q115/DelayedProgressDialog. Он делает то же самое, что и ProgressDialog, с дополнительным преимуществом задержки при необходимости.
Использование аналогично ProgressDialog до Android O:
источник
Настройка Gradle
Добавьте следующую зависимость в module / build.gradle:
Как это использовать?
Использование аналогично оригинальному ProgressDialog
NB . Вы должны переопределить активность
onBackPressed()
Реализация Java8:
Kotlin Реализация:
источник
Может быть, это руководство может помочь вам.
Обычно я предпочитаю делать собственные AlertDialogs с индикаторами. Это решает такие проблемы, как настройка представления приложения.
источник
Это может помочь другим людям.
Во многих популярных приложениях используется другой подход, позволяющий показать ход выполнения каких-либо задач, таких как сетевой запрос, загрузка файла и т. Д. При загрузке счетчик не показывает, сколько контента было загружено или осталось загрузить. Существует период неопределенности, что плохо с точки зрения UI / UX. Множество популярных приложений (Facebook, Linkedin и т. Д.) Решили эту проблему, сначала показав голые интерфейсы пользователя. Затем загруженный контент постепенно заполняется на экране.
Я использовал мерцание для своих приложений, чтобы решить эту проблему.
Есть хорошая статья об этом, которая будет полезна для других людей.
источник
В диалоговом окне выполнения пользователь не может выполнять какую-либо работу. Все фоновые процессы останавливаются во время диалога прогресса. Таким образом, желательно, чтобы пользователь прогресс-бар, а не диалог прогресса.
источник
Вы можете использовать SpotDialog , используя библиотеку wasabee, если вы можете найти полный учебник по следующей ссылке:
источник