Я отримав progress_incomplete.xml та progress_complete.xml
Обидва файли виглядають так (я видалив усі градієнти та інформацію про обведення, щоб зберегти місце як не дуже важливе).
По суті, файл Complete.xml має жовтий колір, а повний - зелений.
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
...
</shape>
</item>
<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
...
</shape>
</clip>
</item>
<item
android:id="@android:id/progress"
>
<clip>
<shape>
...
</shape>
</clip>
</item>
</layer-list>
У моєму файлі Java у мене є таке:
if (percentage == 100)
{
// Change colour
progressBar.setProgressDrawable(R.drawable.progress_complete);
}
Я знаходжу це не працюю, хоча. Я також спробував setBackground і setBackgroundDravable, але зміна не набула чинності.
Що я роблю?
Дякую
Відповіді:
2 для відповіді № 1if (percentage == 100) {
// Change colour
Drawable drawable = getResources().getDrawable(R.drawable.progress_complete);
progressBar.setProgressDrawable(drawable);
}
0 для відповіді № 2
Посилання це відповідь на ТАК, ви можете спробувати це рішення. Це може вирішити вашу проблему.
if (percentage == 100)
{
// Change colour
Rect bounds = progressBar.getProgressDrawable().getBounds();
progressBar.setProgressDrawable(R.drawable.progress_complete);
progressBar.getProgressDrawable().setBounds(bounds);
}