Android - показать неопределенный прогрессбар без диалога

голоса
19

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

Есть ли способ, что я могу это сделать?

Задан 01/04/2009 в 07:23
источник пользователем
На других языках...                            


5 ответов

голоса
23

Это объясняется в полном объеме в ApiDemos внутри SDK. Пример, который вы хотите называется: ProgressBar3.java и могут быть найдены в \ ApiDemos \ SRC \ COM \ например \ Android \ APIs \ вид \

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

Ответил 01/04/2009 d 11:22
источник пользователем

голоса
22

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

Тогда просто показать его, когда вам нужно, изменив его на «ВИДИМОМ», используя setVisibility в коде, и повторно скрыть его, когда дело сделано, сделав его «невидимую» или «ПОШЛИ» снова.

например

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);

}

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

Ответил 03/05/2011 d 02:07
источник пользователем

голоса
3

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

@lostInTransit:

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

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

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

-Yogesh

Ответил 09/09/2010 d 08:35
источник пользователем

голоса
2

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

private ProgressBar mprogressBar;

Внутри OnCreate () так же, как другие кнопки и TextViews я сделал, mprogressBar = (ProgressBar) findViewById (R.id.progressBar);

Тогда в точке я хочу спиннинг колеса появляться я дать команду

mprogressBar.setVisibility(View.VISIBLE);

в точке, где я хочу его исчезнуть.

mprogressBar.setVisibility(View.INVISIBLE);

Это под переключателем на самом деле. так что, как государства в моем изменении программы, индикатор появляется и исчезает

Ответил 25/06/2011 d 15:59
источник пользователем

голоса
1

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

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

Заслуга Macarse для его размещения.

Ответил 06/10/2010 d 23:03
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more