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);