【问题标题】:How to import SwipeRefreshLayout color scheme from XML?如何从 XML 导入 SwipeRefreshLayout 配色方案?
【发布时间】:2019-10-07 15:25:12
【问题描述】:

我知道如何以编程方式设置 SwipeLayout 微调器颜色,使用 .setColorSchemeResources()。

我怎样才能通过传递 .xml 文件来做到这一点?

swipeToRefreshSpinner.setColorSchemeResources(android.R.color.holo_green_dark,
                android.R.color.holo_red_dark,
                android.R.color.holo_blue_dark,
                android.R.color.holo_orange_dark);

【问题讨论】:

  • 你能准确地说出你想要达到的目标吗?是关于使用给定颜色的其他颜色还是关于以另一种方式设置它?
  • 这是关于以另一种方式设置它。假设我的应用程序中有更多的微调器,而不是每次都动态设置它们的颜色,我想传递一个 .xml 文件,所以将来如果我决定更改颜色,我只需要这样做一次。
  • 我认为没有办法通过style.xml 或其他属性来做到这一点。唯一的方法是在colors.xml 中设置自己的颜色并像swipeRefreshLayout.setColorSchemeResources(R.color.customNamedColor); 一样使用它们。这样您就可以使用自定义颜色,如果您为所有 SwipeRefreshLayouts 提供这些自定义颜色,您只需更改 colors.xml 中的颜色即可同时为所有 Spinner 更改它。
  • 好的,谢谢。你能把它作为一个正式的答案让我选择它吗?
  • 当然,如果有帮助我很高兴 :)

标签: java android xml swiperefreshlayout


【解决方案1】:

要更改中心点的所有颜色,您可以在 colors.xml 中定义自定义颜色。如果你给你所有的SwipeRefreshLayouts这些颜色,它们可以立即更改。 您可以这样定义颜色:

<color name="customNamedColor">#FFFFFF</color>

并像你已经做过的那样使用它,但引用你自己的颜色:

swipeRefreshLayout.setColorSchemeResources(R.color.customNamedColor);

【讨论】:

    猜你喜欢
    • 2017-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-24
    • 1970-01-01
    • 2022-01-13
    相关资源
    最近更新 更多