Android создать массив цветов в xml цвете - PullRequest
0 голосов
/ 02 марта 2020

Привет, я хочу создать 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

Ответы [ 2 ]

2 голосов
/ 02 марта 2020

Я думаю, что вы скопировали код вставки из этого учебника, и из-за этого проблема возникает для "" . Пожалуйста, добавьте ниже код.

<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>
1 голос
/ 02 марта 2020

Не дайте названия каждой строке, это array, а не map:

 <string-array name=”bg_color”>
            <item>#f64c73</item>
            <item>#20d2bb</item>
            <item>#3395ff</item>
            <item>#c873f4</item>
        </string-array>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...