如何在多色文本视图中制作我的文本?
how to make my text in textview with multi color?
我正在 android studio 上构建一个应用程序,它具有特定计算的结果,我需要在结果中用红色做一些注释,请参见示例:
考虑一下 (r1,r2,r3) 是字符串
result.setText ( "creat result" +
"\n salaz " + r1+
"\n jalf " +r2+
"\n mdar" +r3
);
结果:
salaz 20 mg
jalf 10 mg
mdar 5 mg
所以我需要 10 毫克红线的 jalf
需要这条红色线"\n jalf " +r2+"
有什么办法让它变红吗?!!?
我不确定这是否可行,但理论上应该可行。
Spannable r1Span = new SpannableString(r1);
Spannable r2Span = new SpannableString(r2);
Spannable r3Span = new SpannableString(r3);
r1Span.setSpan(new ForegroundColorSpan(Color.RED), 0, r1.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
r2Span.setSpan(new ForegroundColorSpan(Color.RED), 0, r2.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
r3Span.setSpan(new ForegroundColorSpan(Color.RED), 0, r3.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
String result = TextUtils.concat("creat result" +
"\n salaz " + r1Span+
"\n jalf " +r2Span+
"\n mdar" +r3Span);
result.setText (result);
让我知道进展如何。
使用
int colorRed = getResources().getColor(R.color.red);
String text = getString(R.string.text);
SpannableString spannable = new SpannableString(text); // here we set the color
spannable.setSpan(new ForegroundColorSpan(colorBlue), 0, text.length(), 0);
yourTextView.setText(spannable);
在这里处理长度,直到你想设置颜色的地方
试一试,如果有效请告诉我:
YOUR_TEXTVIEW.setText(Html.fromHtml("<font color=\"#006400\">" + "Price: $" + _price + " " + "</font>" + " " + "<font color=\"#3F23F5\">" + "Rooms: " + _room+ " " + "</font>"
+ " " + "<font color=\"#DF7401\">" + "District: " + _district + "</font>"));
我正在 android studio 上构建一个应用程序,它具有特定计算的结果,我需要在结果中用红色做一些注释,请参见示例:
考虑一下 (r1,r2,r3) 是字符串
result.setText ( "creat result" +
"\n salaz " + r1+
"\n jalf " +r2+
"\n mdar" +r3
);
结果:
salaz 20 mg
jalf 10 mg
mdar 5 mg
所以我需要 10 毫克红线的 jalf
需要这条红色线"\n jalf " +r2+"
有什么办法让它变红吗?!!?
我不确定这是否可行,但理论上应该可行。
Spannable r1Span = new SpannableString(r1);
Spannable r2Span = new SpannableString(r2);
Spannable r3Span = new SpannableString(r3);
r1Span.setSpan(new ForegroundColorSpan(Color.RED), 0, r1.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
r2Span.setSpan(new ForegroundColorSpan(Color.RED), 0, r2.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
r3Span.setSpan(new ForegroundColorSpan(Color.RED), 0, r3.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
String result = TextUtils.concat("creat result" +
"\n salaz " + r1Span+
"\n jalf " +r2Span+
"\n mdar" +r3Span);
result.setText (result);
让我知道进展如何。
使用
int colorRed = getResources().getColor(R.color.red);
String text = getString(R.string.text);
SpannableString spannable = new SpannableString(text); // here we set the color
spannable.setSpan(new ForegroundColorSpan(colorBlue), 0, text.length(), 0);
yourTextView.setText(spannable);
在这里处理长度,直到你想设置颜色的地方
试一试,如果有效请告诉我:
YOUR_TEXTVIEW.setText(Html.fromHtml("<font color=\"#006400\">" + "Price: $" + _price + " " + "</font>" + " " + "<font color=\"#3F23F5\">" + "Rooms: " + _room+ " " + "</font>"
+ " " + "<font color=\"#DF7401\">" + "District: " + _district + "</font>"));