Цветовые константы системы Android
Android-программирование сводит меня с ума. XML или программируемые способы разработки GUI - это правильный завтрак старых кошек из кода - здесь есть кое-что, некоторые вещи там.
Мое текущее разочарование пытается сохранить все XML, и я хотел бы установить цвет фона TextView
того же цвета, что и цвет фона Button
, не указывая точный цветовой код. Я хотел бы использовать системную константу, что-то вроде java.awt.SystemColor.control
, но указанную в XML.
Есть ли способ сделать это без необходимости обрабатывать кучу вещей? Я ищу решение, например: android:background="{Insert constant here}"
.
Ответы
Ответ 1
Вы можете использовать такие вещи, как "@color/white" или для системных констант Android, "@android: color/holo_red_light". Альтернативно, если вы хотите большего контроля, вы всегда можете определить общий фон в drawable и установить фон на "@drawable/mydrawable"
Список ресурсов, доступных для Android: цвет здесь (например, background_dark): http://developer.android.com/reference/android/R.color.html
Ответ 2
У вас должен быть файл в res/values, называемый colors.xml, он должен выглядеть так:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="white">#FFFFFF</color>
<color name="grey">#7A7A7A</color>
<color name="background">#0044AA</color>
<color name="bluelight">#449DEF</color>
<color name="bluedark">#2F6699</color>
<color name="greenlight">#70C656</color>
<color name="greendark">#53933F</color>
<color name="orangelight">#F3AE1B</color>
<color name="orangedark">#BB6008</color>
<color name="black">#000000</color>
</resources>
Затем вы можете просто вызвать цвет в xml следующим образом:
android:background="@color/greenlight"
Ответ 3
ознакомьтесь с этой страницей: http://android-er.blogspot.com/2010/03/using-color-in-android.html
Вы можете использовать: "@android: color/white" в вашем xml. Я предполагаю, что поддерживаются несколько других общих цветов, но я точно не знаю, какие именно.
Предпочтительным решением, как правило, является создание собственного файла ресурсов colors.xml и ссылки на те, которые вы там разместили.
Ответ 4
используется следующим образом: android:background="#FF00FF"
Ответ 5
Вам не нужно использовать XML файл для создания XML-констант,
он может вам помочь:
Файл констант Java