Невозможно заставить Android ProgressBar показывать как горизонтальный определитель - PullRequest
0 голосов
/ 03 апреля 2019

Что бы я ни делал, я получаю только маленький круглый неопределенный индикатор выполнения. Что мне нужно, так это горизонтальное определение. Я попытался явно установить 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 );
    }

1 Ответ

0 голосов
/ 05 апреля 2019

Описание проблемы не было полным.Это приложение использует старомодный подход с размещением большей части своей логики в проекте библиотеки и переопределением отдельных аспектов в проектах приложения.Итак, оказалось, что макет был переопределен почти копией с тем же идентификатором макета в проекте приложения.Теперь проблема решена.

...