Заполнение фона ProgressBar программно - PullRequest
0 голосов
/ 17 сентября 2018

Я создал ProgressBar, который использует этот progressDrawable:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

<item android:id="@android:id/background">
    <shape>
        <corners android:radius="15dp"/>
        <solid android:color="@color/checkoutBackground"/>
        <stroke android:color="@color/white" android:width="2dp" />
        <padding android:top="6dp" android:bottom="6dp" android:left="6dp" android:right="6dp"/>
    </shape>
</item>

<item android:id="@android:id/progress">
    <clip>
        <scale android:scaleWidth="100%" >
            <shape>
                <corners android:radius="10dp"/>
                <solid android:color="@color/white"/>
            </shape>
        </scale>
    </clip>
</item>
</layer-list>

, но, очевидно, есть ошибка в Android API 21, которая игнорирует заполнение, которое я поместил на фон.

Iхочу достичь этого фона и установить его заполнение программно.

    progressBar.findViewById(android.R.id.background).setPadding();

, но я получаю исключение nullPointerException

Любые другие способы, которыми я мог бы попробовать это?

Ответы [ 2 ]

0 голосов
/ 17 сентября 2018

удалить android: id = "@ android: id / progress"

0 голосов
/ 17 сентября 2018

Вдохновленный этим ответом: Заполнение фигуры в Progressbar

Удивительно, но проблема решается удалением id: android: id = "@ android: id / progress"

...