Android Studio:使用 RemoteView 设置 ProgressBar 背景颜色

问题描述 投票:0回答:1

我有这个进度条视图:

<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());

我的小部件无法加载,所以这一定是错误的方法。

如何解决这个问题?

谢谢!

android android-widget android-remoteview
1个回答
0
投票

您需要在遥控器

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)

© www.soinside.com 2019 - 2024. All rights reserved.