How to set the text color of TextView in code?
在XML中,我们可以通过
我尝试了如下方法:
1 | holder.text.setTextColor(R.color.Red); |
其中
但它的颜色不同于红色。在settextcolor()中我们可以传递什么类型的参数?在文档中,它表示
您应该使用:
1 | holder.text.setTextColor(Color.RED); |
为了做一个健康检查,我试了一下,因为我有一个项目一直在开着,是的,它很漂亮,很红。
当然,您可以使用
Color.parseColor (手动)(如lex使用)1text.setTextColor(Color.parseColor("#FFFFFF"));号
Color.rgb 和Color.argb (手动rgb)(手动argb)(如ganapathy用途)1
2holder.text.setTextColor(Color.rgb(200,0,0));
holder.text.setTextColor(Color.argb(0,200,0,0));当然,如果要在
XML 文件中定义颜色,可以这样做:1<color name="errorColor">#f00</color>。
由于
getColor() 函数被弃用1,因此您需要这样使用它:1ContextCompat.getColor(context, R.color.your_color);也可以插入普通的十六进制,如:
1myTextView.setTextColor(0xAARRGGBB);。
首先是alpha通道,然后是颜色值。
查看完整的手册当然,公共类颜色扩展对象。
1该代码也曾出现在这里:
1 | textView.setTextColor(getResources().getColor(R.color.errorColor)); |
。
这个方法现在在android m中已被弃用。但是,您可以从支持库的contextcompat中使用它,如下面的示例所示。
如果仍要在XML文件中指定颜色:
1 | <color name="errorColor">#f00</color> |
。
然后用以下两种方法之一在代码中引用它:
1 | textView.setTextColor(getResources().getColor(R.color.errorColor, getResources().newTheme())); |
。
或
1 | textView.setTextColor(getResources().getColor(R.color.errorColor, null)); |
号
如果您是针对android m编译的,那么第一个可能更好,但是您传递的主题可以是空的,所以这对您来说可能更容易?
如果你在使用compat库,你可以这样做
1 | textView.setTextColor(ContextCompat.getColor(context, R.color.errorColor)); |
号
另一个是:
1 2 | TextView text = (TextView) findViewById(R.id.text); text.setTextColor(Color.parseColor("#FFFFFF")); |
号
您也只能从XML文件执行此操作。
在values文件夹中创建一个
1 2 3 4 5 | <?xml version="1.0" encoding="utf-8"?> <resources> <color name="textbody">#ffcc33</color> </resources> |
号
然后,在任何XML文件中,可以使用,
1 | android:textColor="@color/textbody" |
号
或者可以在Java文件中使用此颜色:
1 2 3 | final TextView tvchange12 = (TextView) findViewById(R.id.textView2); //Set color for textbody from color.xml file tvchange1.setTextColor(getResources().getColor(R.color.textbody)); |
号
你可以用
1 | holder.text.setTextColor(Color.rgb(200,0,0)); |
还可以指定透明度所需的颜色。
1 | holder.text.setTextColor(Color.argb(0,200,0,0)); |
。
a表示α(透明)值r-红色g-绿色b-蓝色
在文本视图上设置颜色有许多不同的方法。
在studio res->values->colors.xml中添加颜色值
1 | <color name="color_purple">#800080</color> |
。
现在将xml或actity类中的颜色设置为
1 | text.setTextColor(getResources().getColor(R.color.color_purple) |
。
如果要直接给出颜色代码,请使用下面的color.parsecolor代码
1 | textView.setTextColor(Color.parseColor("#ffffff")); |
您也可以使用RGB
1 | text.setTextColor(Color.rgb(200,0,0)); |
。
也可以使用直接十六进制代码进行文本视图。也可以插入普通的十六进制,如:
1 | text.setTextColor(0xAARRGGBB); |
还可以将argb与alpha值一起使用。
1 | text.setTextColor(Color.argb(0,200,0,0)); |
。
A代表α(透明)V。
如果你在使用compat库,你可以这样做
1 | text.setTextColor(ContextCompat.getColor(context, R.color.color_purple)); |
号
在layout.xml中使用以下代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/add" android:layout_marginTop="16dp" android:textAppearance="? android:attr/textAppearanceMedium" android:textColor="#25383C" android:textSize="13sp" /> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/add" android:layout_marginTop="16dp" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="#25383C" android:textSize="13sp" /> |
号
我通常对任何视图执行此操作:
1 | myTextView.setTextColor(0xAARRGGBB); |
。
哪里
aa定义alpha(00表示透明,ff表示不透明)
rrggbb定义了普通的HTML颜色代码(比如红色的ff0000)。
如果您计划使用setextappearance,您应该知道它将使用从主题继承的样式覆盖文本颜色。因此,如果您想同时使用这两种颜色,请在之后设置颜色。
这项工作:
1 2 | textView.setTextAppearance(context, android.R.style.TextAppearance_Medium); textView.setTextColor(Color.RED); |
号
这将导致您的文本颜色为白色(用于深色主题)或黑色(用于浅色主题):
1 2 | textView.setTextColor(Color.RED); textView.setTextAppearance(context, android.R.style.TextAppearance_Medium); |
号
与此相反,在XML中,顺序是任意的。
我相信,如果您想指定一种颜色作为资源(在XML文件中),就必须提供它的a rgb值(而不仅仅是rgb值)。
尝试将颜色值更改为
1 | holder.text.setTextColor(Color.rgb(200,0,0)); |
或
1 | myTextView.setTextColor(0xAARRGGBB); |
。
用途:
1 2 | TextView tv = new TextView(this); tv.setTextColor(Color.rgb(285,0,0)); |
号
1 | textView.setTextColor(ContextCompat.getColor(getApplicationC??ontext(),R.color.col??orWhite)); |
号
在
1 | <color name="colorWhite">#FFFFFF</color> |
号
使用适配器,可以使用以下代码设置文本颜色:
1 2 | holder.text_view = (TextView) convertView.findViewById(R.id.text_view); holder.text_view.setTextColor(Color.parseColor("#FF00FF")); |
号
1 | text1.setTextColor(Color.parseColor("#000000")); |
号
1 2 | TextView text = new TextView(context); text.setTextColor(Color.parseColor("any hex value of a color")); |
号
上面的代码在我这边工作。这里,
或
此处键入所需的十六进制码
或
1 2 | holder.userType.setTextColor(context.getResources().getColor( R.color.green)); |
从API 23开始,
改为使用:
1 | textView.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.color_black)); |
号
如果要直接给出颜色代码,请使用
1 | textView.setTextColor(Color.parseColor("#ffffff")); |
号
或者,如果要从"颜色"文件夹中提供颜色代码,请使用
1 | textView.setTextColor(R.color.white); |
在适配器中,可以使用以下代码设置文本颜色:
1 2 | holder.my_text_view = (TextView) convertView.findViewById(R.id.my_text_view); holder.my_text_view.setTextColor(Color.parseColor("#FFFFFF")); |
。
1 | textViewStatus.setTextColor(res.getColor(R.color.green)); |
号
为了设置文本视图的颜色,
必须这样使用-
1 2 3 | TextView myText = (TextView) findViewById(R.id.YoutTextViewID); myText.setTextColor(getResources().getColor(R.color.YOURCOLOR); |
或
1 | myText.setTextColor(Color.parseColor("#54D66A")); |
号
我是这样做的:创建一个XML文件,在res/values文件夹中称为colors。
我的颜色.xml:
1 2 3 4 5 6 7 8 9 10 | <?xml version="1.0" encoding="utf-8"?> <resources> <color name="vermelho_debito">#cc0000</color> <color name="azul_credito">#4c4cff</color> <color name="preto_bloqueado">#000000</color> <color name="verde_claro_fundo_lista">#CFDBC5</color> <color name="branco">#ffffff</color> <color name="amarelo_corrige">#cccc00</color> <color name="verde_confirma">#66b266</color> </resources> |
号
要从XML文件获取此颜色,我使用了以下代码:它是一个文本视图,而CTX是一个上下文对象。我不是从活动中使用它,而是从baseadapter到listview。这就是我使用这个上下文对象的原因。
1 | valor.setTextColor(ctx.getResources().getColor(R.color.azul_credito)); |
希望有帮助。
同样,我使用的是
1 2 | <color name="white">#ffffff</color> <color name="black">#000000</color> |
设置
1 | textView.setTextColor(R.color.white); |
我得到了不同的颜色,但是当我使用下面的代码时,我得到了实际的颜色。
1 | textView.setTextColor(Color.parseColor("#ff6363")); |
号
您可以使用
您还可以使用
试试这个:
1 2 | TextView textview = (TextView) findViewById(R.id.textview ); textview .setTextColor(Color.parseColor("#85F85F")); |
。
如果您在适配器中,但仍想使用资源中定义的颜色,可以尝试以下方法:
1 | holder.text.setTextColor(holder.text.getContext().getResources().getColor(R.color.myRed)); |
1 2 | TextView textresult = (TextView)findViewById(R.id.textView1); textresult.setTextColor(Color.GREEN); |
。
getcolor()已取消接收
所以请尝试以下方法:
1 | tv_title.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.sf_white)); |
号
我在为RecyclerView的一个视图夹中的一个文本视图执行此操作。我不太确定为什么,但在视窗初始化中它对我不起作用。
1 2 3 4 5 6 | public ViewHolder(View itemView) { super(itemView); textView = (TextView) itemView.findViewById(R.id.text_view); textView.setTextColor(context.getResources().getColor(R.color.myColor)); // Other stuff } |
号
但是当我把它移到onbindViewholder时,它工作得很好。
1 2 3 4 | public void onBindViewHolder(ViewHolder holder, int position){ // Other stuff holder.textView.setTextColor(context.getResources().getColor(R.color.myColor)); } |
号
希望这能帮助别人。
试试这个:
1 | textView.setTextColor(getResources().getColor(R.color.errorColor, null)); |
提供RGB值:
尝试使用以下代码:
1 | holder.text.setTextColor(Color.parseColor("F00")); |
号