Это может быть полезно: http://developer.android.com/guide/topics/resources/color-list-resource.html
Это способ, которым вы можете установить цвет, который будет меняться в зависимости от определенных обстоятельств.
Например, скажем, у вас есть TextView, который выхотите иметь белый текст, когда он включен, и черный текст, когда он отключен.Вы можете установить это в XML-файле, используя ссылки в приведенной выше ссылке, а затем в своем XML-макете, где вы определяете TextView, установите для android: textColor значение @ color / my_text_color.(my_text_color - созданный вами файл списка цветов xml)
Затем, когда TextView изменится с включенного на отключенный (или независимо от того, что вы настроите в xml-файле), цвет также автоматически изменится.
Это один из способов сделать это.Однако вы можете попытаться уточнить, что вы ищете, поскольку это не совсем понятно в вашем вопросе.
Обновление
После комментария Мэтта, вотметод, который вы можете использовать, чтобы получить инвертированное значение цвета.Возможно, есть лучший способ, но он должен работать.
private int getInverseColor(int color){
int red = Color.red(color);
int green = Color.green(color);
int blue = Color.blue(color);
int alpha = Color.alpha(color);
return Color.argb(alpha, 255-red, 255-green, 255-blue);
}
Вы можете программно получить цвет int из представления, такого как TextView, используя один из методов getTextColor ().Возможно, вам придется повозиться с Цветным списком состояний, как я упоминал выше, чтобы получить нужный цвет.Затем передайте этот цвет вышеописанному методу, чтобы получить инвертированный цвет int, и установите его одним из методов setTextColor ().