如何在没有颜色资源的情况下更改SwipeRefreshLayout的进度背景颜色?

时间:2014-10-29 14:39:06

标签: android

因此,SwipeRefreshLayout将此方法称为" setProgressBackgroundColor(int colorRes)"需要一个颜色资源(R.color.myColor)。工作良好。但在我的项目中,我想从字符串中解析颜色并使用所述颜色。我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:6)

根据最新版本,您现在可以使用SwipeRefreshLayout.setProgressBackgroundColorSchemeColor(int color)https://developer.android.com/reference/android/support/v4/widget/SwipeRefreshLayout.html#setProgressBackgroundColorSchemeColor(int)

从春天的颜色,你可以像这样使用它:

int myColor = Color.parseColor("#ff00ff");
swipeRefreshLayout.setProgressBackgroundColorSchemeColor(myColor);

确保您使用的是最新的android-support-v4 lib。

答案 1 :(得分:0)

您需要某种方法将字符串与特定颜色资源相关联。创建一种识别字符串" orange"的解析器。意味着你应该访问颜色资源" R.color.myOrange"例如。然后你已经提到过setProgressBackgroundColor(R.color.myOrange)。如果没有关于你正在寻找什么的更多信息,很难给出更多建议。

答案 2 :(得分:0)

这是一个非常类似于SwipeRefreshLayout的问题,当它仍然是一个水平进度条时,修复将需要来自Google,与前一个相同。我已经在Android跟踪器上提交了一个问题。

http://code.google.com/p/android/issues/detail?id=78531

一旦SwipeRefreshLayout具有正确的方法,您可以使用Color.parseColor(String color)将字符串解析为当前不存在的方法可以使用的颜色值。