Поставить прогрессбар на панели быстрого доступа



Я пытаюсь поставить неопределенный ProgressBar на панели действий. Я использовал actionView, чтобы поставить progressBar, например, приложение Google+.



<item
android:id="@+id/menu_progress"
android:actionLayout="@layout/action_progress"
android:menuCategory="container"
android:showAsAction="always">
</item>


проблема в том, что индикатор выполнения рассматривается как элемент, и поэтому в портретном режиме Nexus S у меня есть только один другой элемент на панели действий, а в Google+ я вижу два элемента плюс панель прогресса.
Как можно поставить progressbar с помощью android actionbar?

620   3  

3 ответов:

Примечание: функциональность ниже теперь устарела в библиотеке поддержки.

нужно позвонить

requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS)

в своем onCreate()перед установкой внешний вид:

например

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
    ... // set layout etc

если вы используете библиотека заменить requestWindowFeature С supportRequestWindowFeature

а потом позвоните

setProgressBarIndeterminateVisibility(true);

на вашей деятельности, когда вы хотите, чтобы показать прогресс spinner.

моя ситуация потребовала обновления индикатора выполнения из фрагмента с помощью библиотеки поддержки Android версии 4.

в моем "MainActivity расширяет ActionBarActivity", как предложил Jokeefe:

supportRequestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);

до

setContentView(R.layout.activity_main);

в длительной задаче моего фрагмента:

onPreExecute

actionBarActivity.setSupportProgressBarIndeterminateVisibility(true);

onPostExecute

actionBarActivity.setSupportProgressBarIndeterminateVisibility(false);
menu.clear();
actionBarActivity = (ActionBarActivity)getActivity();
actionBarActivity.supportInvalidateOptionsMenu();

не уверен, что это отвечает на OP, но это то, что сработало для меня на основе сообщений выше. Надеяться эта помощь.

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

Comments

    Ничего не найдено.