【发布时间】:2015-01-23 20:17:11
【问题描述】:
我已经让 Android 的 SwipeRefreshLayout 正常工作,并且正在尝试自定义整个应用程序中所有拉动刷新的颜色。为了遵循 DRY 原则,我尝试将所需的颜色移动到 array.xml,如下所示:
<resources>
<array name="swipeRefreshColors">
<item>@color/pink</item>
<item>@color/green</item>
</array>
</resources>
但是,当我尝试将它们导入到滑动中以刷新时:
swipeRefreshLayout.setColorSchemeResources(R.array.swipeRefreshColors);
我得到一个 Resources$NotFoundException:
android.content.res.Resources$NotFoundException: Resource ID #0x7f060001
at android.content.res.Resources.getValue(Resources.java:1233)
at android.content.res.Resources.getColor(Resources.java:887)
at android.support.v4.widget.SwipeRefreshLayout.setColorSchemeResources(SwipeRefreshLayout.java:477)
我尝试了一些方法,例如将 SwipeRefreshLayout 代码子类化并在那里对颜色进行硬编码,但这绝对是一个 hack。必须有一种方法可以从 Activity 中引用一组颜色来自定义它。
任何帮助将不胜感激!
【问题讨论】:
标签: android pull-to-refresh swiperefreshlayout