Android: динамическое изменение цвета фона TextView

У меня есть следующий textview в моей деятельности. Я хочу динамически изменять цвет фона textview.

моя проблема в том, что я не хочу получать цвета из файла Resouce или других цветов.Красный метод. Я получаю цвета от webservie в режиме websafe (i.e #FFF, #000 etc).

Как я могу передать эти цвета в качестве фона в TextView. Заранее спасибо за ваше время.

<TextView
                android:id="@+id/colorCode"
                android:layout_width="40dp"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_alignParentTop="true" android:background="#FF0000" android:layout_marginRight="5dp"/>

5 ответов


ниже фрагмент может помочь вам, где txtChannelName объект TextView

 txtChannelName.setBackgroundColor(Color.RED);

или

txtChannelName.setBackgroundColor(Color.parseColor("#ffffff"));

yow может установить цвет с android или цвет в формате rbg, как это:

TextView txtView = (TextView) findViewById(R.id.yourId);
txtView.setBackgroundColor(Color.parseColor("#AA3456"));

или:

txtView.setBackgroundColor(Color.BLUE);

можно попробовать:

String color = "FF0000";   // For example your color is FF0000
TextView txt = new TextView(this);         
txt.setBackgroundColor(Integer.parseInt(color, 16)+0xFF000000);

или

//This is the most preferrable
txt.setBackgroundColor(Color.parseColor("#FF0000"));    

в вашей деятельности вы делаете что-то вроде этого:

TextView textView = (TextView) findViewById(R.id.colorCode);
int myDynamicColor = Color.parseColor("#FFFF00"); // Here you can pass a string taken from the user or from wherever you want.
textView.setBackgroundColor(myDynamicColor);

надеюсь, что это помогает.


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);
textView.setBackgroundColor(color);