Различные текстовые цвета в одном текстовом представлении
В моем приложении я должен показать некоторую информацию. Я бы структурировал эту информацию, как эта
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);
Вот что я сделал, так это то, что я посчитал количество символов, откуда и куда мне нужен определенный цвет.
Надеюсь, что это поможет вам.