【问题标题】:Android create an array of color in xml colorAndroid在xml颜色中创建一个颜色数组
【发布时间】:2020-06-14 12:44:43
【问题描述】:

您好,我想创建一个 viewpager,所以我按照本教程进行操作:https://blog.mindorks.com/android-viewpager-in-kotlin。但是当我尝试在 res.colors 中设置颜色数组时:

<array name=”bg_color”>
        <item name=”bg_screen1">#f64c73</item>
        <item name=”bg_screen2">#20d2bb</item>
        <item name=”bg_screen3">#3395ff</item>
        <item name=”bg_screen4">#c873f4</item>
    </array>

这不会编译,我在第一行的 = 上得到了预期的属性值。我得到类型属性应该在所有其他行上定义。我假设我应该定义数组的一种类型,但是我应该使用哪种类型来表示颜色?以及如何申报?

编辑

要使用它,你必须声明和 IntArray 然后选择好位置:

val bg_color = resources.getIntArray(R.array.bg_color)
webView.setBackgroundColor(bg_color[pos])

pos 为 int 的 web 视图示例

【问题讨论】:

    标签: android android-studio kotlin colors


    【解决方案1】:

    不要给每一行命名,它是array,而不是map

     <string-array name=”bg_color”>
                <item>#f64c73</item>
                <item>#20d2bb</item>
                <item>#3395ff</item>
                <item>#c873f4</item>
            </string-array>
    

    【讨论】:

    • 之后我该如何访问它?
    • String[] colors = getResources.getStringArray(R.array.bg_color);
    【解决方案2】:

    我认为您复制了该教程中的粘贴代码,因此 " " 发生了该问题。 请添加以下代码。

    <array name="bg_color">
        <item name="bg_screen1">#f64c73</item>
        <item name="bg_screen2">#20d2bb</item>
        <item name="bg_screen3">#3395ff</item>
        <item name="bg_screen4">#c873f4</item>
    </array>
    

    【讨论】:

    • 好吧,看来教程中的副本出现了错误。谢谢你修复它
    猜你喜欢
    • 2016-08-24
    • 2013-10-08
    • 1970-01-01
    • 2022-10-16
    • 2017-05-04
    • 1970-01-01
    • 2011-04-15
    • 2015-07-08
    • 1970-01-01
    相关资源
    最近更新 更多