You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CircleProgressDrawable setColorSchemeColors方法失效问题求助

问题原因及解决方法

核心问题

你调用setColorSchemeColors()时传的是颜色资源ID(比如R.color.standard_blur),但这个方法需要的是直接的颜色值(ColorInt),系统没法把资源ID解析成正确的颜色,所以进度条只能显示默认的深色。

解决步骤

  • 用ContextCompat.getColor()把颜色资源ID转成ColorInt,这个方法还能兼容低版本Android系统。
  • 修改后的代码示例:
val progressDrawable = CircularProgressDrawable(context).apply {
    strokeWidth = 15f
    // 转成ColorInt传入
    setColorSchemeColors(
        ContextCompat.getColor(context, R.color.standard_blur),
        ContextCompat.getColor(context, R.color.standard),
        ContextCompat.getColor(context, R.color.standard_light),
        ContextCompat.getColor(context, R.color.standard75)
    )
    start()
}

补充:Glide设置占位符的完整示例

如果还没正确给Glide设置占位符,参考下面的代码:

Glide.with(context)
    .load(imageUrl)
    .placeholder(progressDrawable)
    .into(imageView)

内容的提问来源于stack exchange,提问作者Danwolve

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 02:15:55