2015-03-02 2 views
-1

Я создаю приложение для студии Android, которое имеет результаты для конкретных вычислений, и мне нужно сделать некоторые заметки в результате с красным цветом, см. Пример:Как сделать свой текст в текстовом режиме с несколькими цветами?

принять во внимание (r1, r2, r3) являются строками

result.setText ("creat result" + 
"\n salaz " + r1+ 
"\n jalf " +r2+ 
"\n mdar" +r3 

); 

результат:

salaz 20 мг

jalf 10 мг

mdar 5 мг

Так что мне нужно jalf 10 мг с красной линией

нужна эта линия с красным "\n jalf " +r2+"

Есть ли способ сделать это красным? !!?

+0

Не сам по себе, но Я считаю, вы можете установить html, который будет отображать, как вы хотите. – gtgaxiola

+0

AFAIK не возможно – Apurva

ответ

0

Я не уверен, что это сработает, но теоретически это должно быть.

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

Дайте мне знать, как все прошло.

+0

длина: переименование ссылка?! как его решить ??!? –

+0

Woops, у меня была опечатка. Отредактировал его, и теперь он должен работать. – jvrodrigues

+0

Я делаю это, но цвет не меняется на красный! Я ценю это от вас, но если вы попробовали его и получили результат с красным цветом, скажите мне с обновлением –

-1

Использование

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

Handle длина здесь до, где вы хотите, чтобы установить цвет

0

Дайте попробовать и дайте мне знать, если это работает:

YOUR_TEXTVIEW.setText(Html.fromHtml("<font color=\"#006400\">" + "Price: $" + _price + " " + "</font>" + "&nbsp;&nbsp;&nbsp;" + "<font color=\"#3F23F5\">" + "Rooms: " + _room+ "&nbsp;&nbsp;&nbsp;" + "</font>" 
            + "  " + "<font color=\"#DF7401\">" + "District: " + _district + "</font>")); 
Смежные вопросы