С новым Lollipop API мы должны использовать панель инструментов, если хотим персонализировать аспект действия.
Добавление ProgressBar на панель инструментов так же просто, как добавление его в панель инструментов ViewGroup, как сказал Chris Banes.
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/material_green_500"
android:minHeight="?attr/actionBarSize"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<!-- Color is Brown 500 -->
<ProgressBar
android:id="@+id/toolbar_progress_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminateTint="#795548"
android:indeterminateTintMode="src_in"/>
</android.support.v7.widget.Toolbar>
Но как мы можем поместить его справа от панели инструментов, где она принадлежит?
Атрибут layout_gravity
, по-видимому, не определен для панели инструментов. Установка его из xml не влияет.
Я попытался изменить ширину ProgressBar, не добившись успеха.
Что мне делать?
РЕДАКТИРОВАТЬ: для решения этой проблемы существует программное решение, см. ответ @mdelolmo для этого.