Android从java代码设置文本视图颜色

时间:2010-12-21 12:25:52

标签: android android-layout

我有一个列表,我为此编写了一个自定义适配器。我想为此设置一些文本颜色(例如橙色代码#F06D2F)。我正在为我的getView()方法提供代码段。

TextView text = new TextView(this.context);
// text.setPadding(25, 5, 0, 0);

text.setBackgroundResource(R.drawable.back_horizontal);

// text.setClickable(false);
// text.setFocusable(false);
text.setEllipsize(TruncateAt.END);
text.setSingleLine(true);

// text.setTextColor(R.color.yellow);

text.setTextColor(R.color.Orange);
text.setGravity(Gravity.CENTER_VERTICAL);


helvetica_normal = Typeface.createFromAsset(context.getAssets(), "fonts/helvetica.ttf");

text.setTypeface(helvetica_normal);
// text.setTextColor(R.color.yellow);



text.setText(objects[position]);

LayoutParams layoutParams = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
manager.addView(text, layoutParams);

问题是我看不到颜色设置为橙色。出了什么问题?

注意:上下文在构造函数和对象(字符串数组)中传递

感谢您的帮助

9 个答案:

答案 0 :(得分:52)

尝试这样,以下工作对我来说很好

textview.setTextColor(this.getResources().getColor(R.color.orange));

答案 1 :(得分:18)

text.setTextColor(Color.parseColor("#FFFFFF"));

答案 2 :(得分:8)

您也可以使用 text.setTextColor(0xFFF06D2F);
但不仅仅是 text.setTextColor(0xF06D2F);

答案 3 :(得分:2)

这对我有用,而且很简单。首先,导入“颜色”

import android.graphics.Color;

然后你要做的就是:

text.setTextColor(Color.RED);

今天刚刚发现(2013年9月9日)。您可以继续并声明一个这样的变量:

private final int ORANGE = 0xFFFF3300;

然后你所要做的就是:

text.setTextColor(ORANGE);

请注意,前两个十六进制字符用于不透明度(“FF”表示不透明)。然后,在上面的例子中,第二个“FF”表示红色,“33”表示绿色,“00”表示蓝色。应该可以用这种方式创造出很多颜色。

我对这个Android编程很新 - 这是我在这个论坛上的第一篇文章。感谢各位的贡献!

答案 4 :(得分:2)

textview.setTextColor(ContextCompat.getColor(context, R.color.your_color));

答案 5 :(得分:1)

是的,你可以试试这个

textview.setTextColor(this.getResources().getColor(R.color.orange));

答案 6 :(得分:0)

如果您要更改文本颜色并从values / colors.xml中获取值,则if语句持有较高api的文本颜色,因为api23中其他版本已贬值

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) 
{
textview_name.setTextColor(getColor(R.color.your_color_name));
}
else
{               textview_name.setTextColor(getResources().getColor(R.color.your_color_name));
}

答案 7 :(得分:0)

这对我有用。

首先导入: 导入android.graphics.Color;

然后您可以使用: textview.setTextColor(Color.BLUE);

答案 8 :(得分:0)

对于Kotlin,只需使用holder.text.setTextColor(Color.RED);