Различные текстовые цвета в одном текстовом представлении

В моем приложении я должен показать некоторую информацию. Я бы структурировал эту информацию, как эта

Battery level //red textcolor 80% // black textcolor

Является ли это возможным? Потому что на данный момент я создал два отдельных textview; один для "заголовка" и другой для информации с разными цветами. Спасибо

2 ответа

Вы можете использовать Spannable для достижения того, что вы хотите:

TextView textView = (TextView) findViewById(R.id.textView);
String text = "<font color='red'>Battery level</font> <font color='black'>80%</font>"
textView.setText(Html.fromHtml(text), TextView.BufferType.SPANNABLE);

Ты можешь использовать SpannableString чтобы преодолеть вашу проблему.

Вот что вы можете сделать со своим textviews

TextView tc_text = (TextView) findViewById(R.id.signup_TC_text);

SpannableString text = new SpannableString("Points are awarded when you confirm your email. By signing up, you agree to our Terms & Conditions.");

text.setSpan(new ForegroundColorSpan(Color.BLACK), 0, 80, 0);

final Context context = this;
ClickableSpan clickableSpan = new ClickableSpan() {
    @Override
    public void onClick(View view) {

        }
    };
    text.setSpan(clickableSpan, 80, 98, 0);

// make our ClickableSpans and URLSpans work
tc_text.setMovementMethod(LinkMovementMethod.getInstance());

// shove our styled text into the TextView
tc_text.setText(text, BufferType.SPANNABLE);

Вот что я сделал, так это то, что я посчитал количество символов, откуда и куда мне нужен определенный цвет.

Надеюсь, что это поможет вам.

Другие вопросы по тегам