我正在使用名为MaterialProgressBar的开源组件,该组件具有名为 mpb_progressTint 的tint属性,该属性被定义为ColorStateList。我正在使用数据绑定,但无法使用以下错误设置值:
msg:无法找到属性' app的mpter:mpb_progressTint'参数类型为int on me.zhanghai.android.materialprogressbar.MaterialProgressBar。
这是我的XML:
<me.zhanghai.android.materialprogressbar.MaterialProgressBar
android:id="@+id/progressBar"
style="@style/Widget.MaterialProgressBar.ProgressBar.Horizontal.NoPadding"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true"
android:max="@{vm.max}"
android:progress="@{vm.progress}"
android:visibility="@{vm.isComplete ? View.GONE : View.VISIBLE }"
app:mpb_progressTint="@{vm.isDownloading ? @color/my_blue : @color/my_gray}"
app:mpb_progressStyle="horizontal"
app:mpb_showTrack="false"
app:mpb_useIntrinsicPadding="false"
/>
答案 0 :(得分:0)
您必须将属性 app:mpb_progressTint 与 MaterialProgressBar类中适当的setter方法。您可以通过添加到Activity或Fragment或任何其他类注释来完成此操作:
@BindingMethods({
@BindingMethod(type = me.zhanghai.android.materialprogressbar.MaterialProgressBar.class,
attribute = "app:mpb_progressTint",
method = "setProgressTintList") })
public class MainActivity extends AppCompatActivity {
// your activity body here
}