Я пробовал все способы, но я не могу изменить цвет индикатора выполнения. Пробовал менять не только как привязку, но и в переходнике, но не получается. Не могли бы вы помочь?
.....
<com.google.android.material.progressindicator.CircularProgressIndicator
android:id = "@+id/progressBar"
android:layout_width = "160dp"
android:layout_height = "160dp"
android:progress = "25"
app:indicatorColor = "@{session.getChannel() == Channel.MOBILE ? @color/cerulean : @color/teal}"
app:indicatorDirectionCircular = "counterclockwise"
app:indicatorInset = "7dp"
app:indicatorSize = "140dp"
app:layout_constraintBottom_toBottomOf = "parent"
app:layout_constraintLeft_toLeftOf = "parent"
app:layout_constraintRight_toRightOf = "parent"
app:layout_constraintTop_toTopOf = "parent"
app:trackColor = "#DEE3ED"
app:trackCornerRadius = "5dp"
app:trackThickness = "9dp" />
я получаю эту ошибку в этом случае Не удается найти установщик для <com.google.android.material.progressindicator.CircularProgressIndicator app:indicatorColor>, который принимает тип параметра "android.content.res.ColorStateList" Если адаптер привязки предоставляет установщик, проверьте правильность аннотации адаптера и соответствие типа параметра.
val color = R.color.cerulean
progressBar.getIndeterminateDrawable().setColorFilter(color,
PorterDuff.Mode.SRC_IN)
А потом я попробовал этот код, но снова не удалось. неопределенный
Вы можете использовать пользовательский адаптер привязки, подобный этому
@BindingAdapter("app:indicatorColor")
fun setIndicatorColor(progress: CircularProgressIndicator, color: Int) {
progress.setIndicatorColor(color)
}
После этого вы можете использовать свой код в xml
app:indicatorColor = "@{session.getChannel() == Channel.MOBILE ? @color/cerulean : @color/teal}"