Я пытаюсь установить некоторые общие цвета для программы, которую я пишу. Я создал файл colors.xml и пытаюсь напрямую ссылаться на цвета из файла layout.xml. Я считаю, что делаю это правильно, но это дает мне следующую ошибку:
Color value '@colors/text_color' must start with #
Вот мои res/values /colors.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="background_color">#888888</color>
<color name="text_color">#00FFFF</color>
</resources>
Вот мой res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:layout_width="fill_parent"
android:text="@string/hello"
android:layout_height="wrap_content"
android:id="@+id/TextView01"
android:textColor="@colors/text_color"/>
</LinearLayout>
Я просмотрел некоторые ссылки на сайте разработчиков Android: Дополнительные типы ресурсов: Цвет и нашел этот код:
Пример: файл XML, сохраненный в res/values /colors.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="opaque_red">#f00</color>
<color name="translucent_red">#80ff0000</color>
</resources>
Этот код приложения извлекает цветовой ресурс:
Resources res = getResources();
int color = res.getColor(R.color.opaque_red);
Этот макет XML применяет цвет к атрибуту:
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@color/translucent_red"
android:text="Hello"/>
Я думаю, что мои два xml файла следуют этому примеру довольно близко - однако единственное отличие заключается в том, что я не использовал код приложения для извлечения цветового ресурса. Я не считаю, что это необходимо (но это разница.) Я думал, что посмотрю, есть ли у кого-нибудь другие проблемы или решение? или это ошибка?
Я обновил все мои файлы Android sdk (и Eclipse) на прошлой неделе, поэтому считаю, что они были последними.