Поставить прогрессбар на панели быстрого доступа
Я пытаюсь поставить неопределенный 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?
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