#android #android-layout
#Android #android-макет
Вопрос:
У меня есть индикатор выполнения с настраиваемым отображением
<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="120"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="140">
<item android:id="@android:id/progress">
<rotate
android:fromDegrees="90"
android:toDegrees="90">
<shape
android:innerRadiusRatio="3"
android:shape="ring"
android:angle="0"
android:type="sweep"
android:thicknessRatio="20.0">
<solid android:color="#ffffff"/>
</shape>
</rotate>
</item>
</layer-list>
Есть ли способ сделать этот индикатор выполнения разноцветным с разным цветом при разном прогрессе? Например: 0-50 — белый, 50-100 — зеленый и т.д.
Спасибо за любую помощь!
Комментарии:
1. Я могу придумать два варианта. 1) градиент, который можно нарисовать (если вы хотите такого эффекта). 2) создайте свой собственный пользовательский чертеж; довольно просто создать чертеж, чтобы просто рисовать цвета.
2. @Budius Не могли бы вы опубликовать пример, пожалуйста?
3. Базовая база — это класс, который расширяет
Drawable
возможности переопределенияonDraw
и выполнения вызовов рисования непосредственно на холсте, напримерcanvas.drawRect(...)
. Вот официальные документы по этому вопросу developer.android.com/guide/topics/graphics/2d-graphics.html и вы можете легко найти в Google какой-нибудь учебник4. @Budius Спасибо, я постараюсь