以编程方式设置android TextView
的背景颜色似乎不起作用。
我错过了什么!
TextView et = new TextView(activity);
et.setText("350");
et.setBackgroundColor(R.color.white);
我的res / values文件夹中还有这个文件(colors.xml)
<resources>
<color name="white">#ffffffff</color>
<color name="black">#ff000000</color>
</resources>
[编辑]: 此外,设置文本颜色会导致TextView消失。
TextView c1 = new TextView(activity);
c1.setTextColor(R.color.solid_red);
c1.setText("My Text");
答案 0 :(得分:310)
使用et.setBackgroundResource(R.color.white);
答案 1 :(得分:71)
试试这个:
TextView c1 = new TextView(activity);
c1.setTextColor(getResources().getColor(R.color.solid_red));
c1.setText("My Text");
我同意颜色和资源的类型相同,但我也花了几个小时才找到这个解决方案。
答案 2 :(得分:61)
设置红色:
textView.setBackgroundColor(0xfff00000);
或者
<color name="solid_red">#fff00000</color>
textView.setBackgroundResource(R.color.solid_red);
答案 3 :(得分:18)
我有一个类似的问题,我在创建数字颜色而不考虑前导alpha通道。即。 mytext.setTextColor(0xFF0000)
(认为这会是红色的)。虽然这是一种红色,但它也是100%透明的it = 0x00FF0000;
正确的100%不透明值是0xFFFF0000
或mytext.setTextcolor(0xFFFF0000)
。
答案 4 :(得分:7)
当网络服务返回十六进制格式的颜色,如“#CC2233”时,我有这种情况,我想通过使用setBackGroundColor()将此颜色放在textView上,所以我使用android Color类来获取十六进制字符串的int值将它传递给上述功能。一切正常。 这是一个例子:
String myHexColor = "#CC2233";
TextView myView = (TextView) findViewById(R.id.myTextView);
myView.setBackGroundColor(Color.pasrsehexString(myHexColor));
P.S。发布此答案,因为其他解决方案对我不起作用。我希望这会有所帮助:)
答案 5 :(得分:7)
这一行代码只是以编程方式更改了背景
tv.setBackgroundColor(Color.parseColor("#808080"));
答案 6 :(得分:3)
tv.setTextColor(getResources().getColor(R.color.solid_red));
答案 7 :(得分:3)
以下是正确执行此操作的步骤:
首先,在MainActivity.java中声明一个TextView实例,如下所示:
TextView mTextView;
动态设置一些文本(如果需要),如下所示:
mTextView.setText("some_text");
现在,要设置背景颜色,您需要在res-&gt; values-&gt; colors.xml文件中定义自己的颜色,如下所示:
<resources>
<color name="my_color">#000000</color>
</resources>
您现在可以使用&#34; my_color&#34;您的java文件中的颜色动态设置背景,如下所示:
mTextView.setBackgroundResource(R.color.my_color);
答案 8 :(得分:3)
这里的细节很简单,
如果你在活动中使用这个
textview.setBackground(ContextCompat.getColor(this,R.color.yourcolor));
如果您在代码
下使用片段textview.setBackground(ContextCompat.getColor(getActivity(),R.color.yourcolor));
如果您在recyclerview适配器中使用以下代码
textview.setBackground(ContextCompat.getColor(context,R.color.yourcolor));
// use holder.textview if you are in onBindviewholder
//here context is passed from fragment
答案 9 :(得分:2)
Color.parseHexColor("17ee27")
对我不起作用,而Color.parseColor("17ee27")
完美无缺。
答案 10 :(得分:1)
Jut使用
ArrayAdapter<String> adaptername = new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, your array list);
答案 11 :(得分:1)
两种方法:
1.在colors.xml文件中创建颜色,如:
<resources>
<color name="white">#ffffff</color>
</resources>
并将其用于活动java类:
et.setBackgroundResource(R.color.white);
2
et.setBackgroundColor(getResources().getColor(R.color.white));
or
et.setBackgroundColor(Color.parseColor("#ffffff"));
答案 12 :(得分:1)
如果您想支持所有版本,请执行以下操作:
myTextView.setBackgroundColor(ContextCompat.getColor(此,R.color.mycolor));
答案 13 :(得分:0)
要从资源中设置颜色,请按照以下步骤操作:
textView.setBackgroundColor(getResources().getColor(R.color.ButtonColorRed));
这里的 ButtonColorRed 是颜色资源中的颜色名称
答案 14 :(得分:-9)
您可以在声明文本视图的xml文件中使用android:textColor= "
您要提供的任何文本颜色。