我正在开发一个自定义视图,并希望能够通过xml将颜色数组传递给它。
我可以使用带有一些分隔符的字符串传递它,例如app:color_list="#505090;#505090;#505090"
,但是它不支持对colors.xml文件的引用。
我在Android SDK中没有看到这样的东西,所以我想知道,有没有比字符串方法更好的解决方案?
答案 0 :(得分:1)
尝试使用颜色选择器
<强> /res/color/color_state.xml 强>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/red" android:state_enabled="false"/>
<item android:color="@color/white"/>
</selector
并将其传递给属性
应用程式:color_list =&#34; @颜色/ color_state&#34;
答案 1 :(得分:0)
您可以在values目录中使用字符串数组。
<string-array name="colorList">
<item>#505090</item>
<item>#505090</item>
<item>#505090</item>
</string-array>
答案 2 :(得分:0)
在colors.xml
文件中使用<array name="yourColors">
<item>#505090</item>
<item>#505091</item>
<item>#505092</item>
</array>
资源,然后在代码中迭代它:
int[] yourColors = context.getResources().getIntArray(R.array.yourColors);
for (int i = 1; i < nrOfColors; i++) {
someObject.setColor(yourColors[i]);
}
然后你可以遍历你的颜色数组:
j=0
for(i in seq(0, 500, by = 50)){
j=i+50
PlotData <- new.data[(new.data$X <j) & (new.data$X >i),]
ggplot (PlotData, aes(X, Y, color = Z)) + geom_point()
}