我有这个进度条视图:
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="6dp"
android:layout_centerVertical="true"
android:max="100"
android:progress="20"
android:progressDrawable="@drawable/progress_bar_shape"
android:progressTint="#03ff46" // this is the value I'm trying to set via RemoteView
android:progressBackgroundTint="#a8a8a8" // also this one
/>
我正在尝试使用 RemoteView 设置背景颜色和填充颜色(我将其用于小部件)
views.setInt(R.id.progressBar, "setProgressTintList", clockData.getDarkColor());
我的小部件无法加载,所以这一定是错误的方法。
如何解决这个问题?
谢谢!
您需要在遥控器
setProgressBackgroundTintList()
上拨打 setProgressTintList()
和 View
。这两种方法都采用 ColorStateList
作为参数。所以你需要调用 views.setColorStateList()
来做到这一点。看
https://developer.android.com/reference/android/widget/RemoteViews?hl=en#setColorStateList(int,%20java.lang.String,%20android.content.res.ColorStateList)