代码之家  ›  专栏  ›  技术社区  ›  Stan Malcolm

无法覆盖android颜色

  •  1
  • Stan Malcolm  · 技术社区  · 9 年前

    我正在使用图书馆查找日期和时间( https://github.com/wdullaer/MaterialDateTimePicker ).

    有句话说:

    或者,您可以通过覆盖项目中的颜色资源mdtp_accent_color和mdtp_aaccent_color_dark来设置选择器的主题

    所以我用自己的颜色覆盖这两种颜色,但当我运行应用程序时,它仍然是库的颜色,而不是我的颜色。

    也许有人有同样的问题,或者你知道为什么会这样?

    编辑: 以下是我如何覆盖颜色:

    <color name="mdtp_accent_color">#08395b</color>
    <color name="mdtp_accent_color_dark">#062d48</color>
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   wdullaer    9 年前

    以下是库查找颜色的顺序:

    1. java中的颜色集
    2. 如果在5.0+:颜色设置 android.R.attr.colorAccent
    3. 颜色设置在 R.attr.colorAccent
    4. 颜色设置在 R.color.mdtp_accent_color

    如果 R、 属性颜色强调 是在应用程序中定义的(例如,因为您使用的是AppCompat支持库的最新版本),因此无法使用 R、 颜色.mdtp_accent_color 以覆盖它。 如果您想使用不同的颜色,我建议您在实例化对话框时在java代码中设置:

    tpd.setAccentColor(myColor);