Android setting text view color from java code

2020-06-01 05:06发布

I have a list and i write a custom adapter for this. And I want to set some text color for this (e.g. Orange color code #F06D2F). I am presenting the code snippet for my getView() method.

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

The problem is that i can't see the color set to orange. What went wrong?

Note: The context is passed in constructor as well as objects (the string array)

Thanks for your help

8条回答
家丑人穷心不美
2楼-- · 2020-06-01 05:41

This worked for me, and it is simple. First, import "Color"

import android.graphics.Color;

Then all you have to do is this:

text.setTextColor(Color.RED);

Just discovered this today (9/20/13). You can go ahead and declare a variable like this:

private final int ORANGE = 0xFFFF3300;

Then all you have to do is:

text.setTextColor(ORANGE);

Note that the first two hex characters are for opacity ("FF" means opaque). Then, in the example above, the second "FF" is for red, then "33" is for green, and "00" is for blue. Should be possible to create a great many colors this way.

I am pretty new at this Android programming - this is my first post to this forum. Thanks to all of you for your contributions!

查看更多
一纸荒年 Trace。
3楼-- · 2020-06-01 05:45

If you want to change your Text Color and take value from values/colors.xml If statement is holding text color for higher api because else version is depreciated in 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));
}
查看更多
在下西门庆
4楼-- · 2020-06-01 05:46

try like this , the following worked fine for me

textview.setTextColor(this.getResources().getColor(R.color.orange));
查看更多
欢心
5楼-- · 2020-06-01 05:47

This is what worked for me.

Import first: import android.graphics.Color;

Then you can use: textview.setTextColor(Color.BLUE);

查看更多
爷、活的狠高调
6楼-- · 2020-06-01 05:50

Yes, You can try this

textview.setTextColor(this.getResources().getColor(R.color.orange));
查看更多
姐就是有狂的资本
7楼-- · 2020-06-01 05:52
textview.setTextColor(ContextCompat.getColor(context, R.color.your_color));
查看更多
登录 后发表回答