Что бы я ни делал, я получаю только маленький круглый неопределенный индикатор выполнения. Что мне нужно, так это горизонтальное определение. Я попытался явно установить setIndeterminate (false) в коде, установив max и начальный прогресс, предварительно установив его видимым, установив стиль явно в @android: style / Widget.ProgressBar.Horizontal или style / Widget.AppCompat.ProgressBar.Hor Horizontal - ничего помогло, полоса прокрутки осталась неопределенным кругом. В предварительном просмотре дизайна Studio он отображается как горизонтальный прогресс, если он отображается.
Есть идеи, пожалуйста, где я могу быть не прав?
Версия Android 5.0.
Выдержка из макета:
<ProgressBar
android:id="@+id/loadingProgress"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:indeterminate="false"
android:visibility="gone"
/>
Фрагменты кода (пробелы и нерелевантный код удалены):
ProgressBar pbLoading;
public void onCreate( Bundle _savedInstanceState ) {
/* ... */
pbLoading = findViewById( R.id.loadingProgress );
/* ... */
}
public void onStartLoading() {
pbLoading.setVisibility( ProgressBar.VISIBLE );
pbLoading.setMax( 100 );
pbLoading.setProgress( 0 );
}
public void onLoadProgress( double _progress ) {
pbLoading.setProgress( (int)Math.round( _progress * 100 ) );
}
public void onDataLoaded() {
fDataLoaded = true;
pbLoading.setVisibility( View.GONE );
}