Проблема с настройкой цвета TextView - PullRequest
1 голос
/ 24 сентября 2010

Вот мой цвет XML

<resources>
    <drawable name="red">#7f00</drawable>
    <drawable name="blue">#770000ff</drawable>
    <drawable name="green">#7700ff00</drawable>
    <drawable name="yellow">#77ffff00</drawable>

    <drawable name="screen_background_black">#ff000000</drawable>
    <drawable name="translucent_background">#e0000000</drawable>
    <drawable name="transparent_background">#00000000</drawable>

    <color name="solid_red">#ED1C24</color>
    <color name="solid_blue">#0000ff</color>
    <color name="solid_green">#39B54A</color>
    <color name="solid_yellow">#ffffff00</color>

</resources>

Вот мой код Java:

if (floatedChange < 0)
                            changeText.setTextColor(R.color.solid_red); //red
                        else
                            changeText.setTextColor(R.color.solid_green); //green

Это работает, когда я использую Color.RED или Color.GREEN, но когда я использую свои собственные цвета. Цвет не появляется.

Почему?

Ответы [ 2 ]

3 голосов
/ 20 мая 2011

Извините за ответ на старый вопрос, но вот правильный ответ для других с такой же проблемой: С http://developer.android.com/guide/topics/resources/more-resources.html#Color

Resources res = getResources();
int color = res.getColor(R.color.opaque_red);

Так что просто измените свой Java-код на

if (floatedChange < 0)
    changeText.setTextColor( getResources().getColor(R.color.solid_red) ); //red
else
    changeText.setTextColor( getResources().getColor(R.color.solid_green) ); //green
2 голосов
/ 24 сентября 2010

Сделайте так:

В вашем XML-файле используйте style :

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <style name="YourCustomText">
        <item name="android:textColor">#FFFF00</item>
    </style>
</resources>

, затем в своем коде .java:

//Here you assign the style that is defined in YourCustomText
yourTextView.setTextAppearance(this, R.style.YourCustomText);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...