Я пытаюсь перейти к ActionBar. Мне нужен неопределенный счетчик, а также кнопка обновления. Если я использую Window.FEATURE_INDETERMINATE_PROGRESS с моей деятельностью, я получу неопределенный счетчик в ICS, но он будет больше, чем обновляющий актив. Есть ли способ уменьшить его? Ниже приведен снимок экрана о том, как он выглядит на галактической нексусе:
Кроме того, это странно иметь сразу два продвинутых спиннерса. Я надеялся, что если у вас появилась кнопка обновления, вызов setProgressBarIndeterminateVisibility() будет просто повторно использовать id.menu_refresh. Argh.
благодаря
Я работал над этим, используя ActionBar.setCustomView() и поставляя счетчик прогресса, когда в меню нет элемента menu_refresh.
Вы можете установить неопределенный индикатор прогресса, добавив в свой стиль ActionBar
<item name="android:indeterminateProgressStyle">@style/Widget.ProgressBar</item>
ActionBar
где ваш стиль (@style/Widget.ProgressBar.Large
) - это прогресс стиль бара, такой как
<style name="Widget.ProgressBar.Large" parent="@style/Widget">
<item name="android:indeterminateDrawable">@drawable/progress_large</item>
<item name="android:indeterminateOnly">true</item>
<item name="android:indeterminateBehavior">repeat</item>
<item name="android:indeterminateDuration">3500</item>
</style>
и android:indeterminateDrawable
(@drawable/progress_large
в этом случае) - это что-то вроде
<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/spinner_black_76"
android:pivotX="50%"
android:pivotY="50%" />