Ответ 1
Вам нужно использовать панель инструментов вместо ActionBar и добавить ProgressBar на панель инструментов.
Вот простое решение для вставки неопределенного ProgressBar в панель инструментов; оказывается, это не сложно: просто поместите свой элемент ProgressBar xml внутри вашей панели инструментов следующим образом:
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toolbar"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary">
<ProgressBar
android:id="@+id/progress_spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:indeterminate="true"
android:visibility="gone" />
</android.support.v7.widget.Toolbar>
И затем в AppCompatActivity просто загрузите ProgressBar после извлечения панели инструментов и установите ProgressBar в видимое или невидимое, когда вам это нужно.
protected void onCreate(Bundle savedInstanceState)
{
setContentView(R.layout.toolbar);
mToolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(mToolbar);
progressBar = (ProgressBar) findViewById(R.id.progress_spinner);
//Make progress bar appear when you need it
progressBar.setVisibility(View.VISIBLE);
//Make progress bar disappear
progressBar.setVisibility(View.INVISIBLE);
}
Надеюсь, что это поможет:)
EDIT: заменил ActionBarActivity на AppCompatActivity согласно последним рекомендациям библиотек поддержки Android.