Android - TextView с разными цветами фона

Возможно ли иметь TextView с разными цветами фона. Например. Если текст «Это тест», можно ли установить другой цвет фона для четырех слов?


person user2260040    schedule 29.09.2014    source источник
comment
Вы имеете в виду в том же TextView с разными цветами фона?   -  person CodeCanyon    schedule 29.09.2014
comment
Вы можете привести пример того, что вы имеете в виду?   -  person Amulya Khare    schedule 29.09.2014
comment
да. Это то, что я хочу сделать.   -  person user2260040    schedule 29.09.2014
comment
У вас может быть 4 текстовых представления с разным фоном, каждое из которых содержит слово, и соединить их вместе...   -  person nem035    schedule 29.09.2014
comment
Вот пример того, что я хочу сделать... tinypic.com/r/15oeyp3/8 В правой части изображения есть текст с разным фоном. Текст динамический, поэтому я не могу использовать фиксированное количество просмотров текста.   -  person user2260040    schedule 29.09.2014
comment
Просто используйте SpannableString, как указано ниже.   -  person Haresh Chhelana    schedule 29.09.2014


Ответы (1)


Да.

SpannableString spannableString = new SpannableString(getString(R.string.hello_world));
Object greenSpan = new BackgroundColorSpan(Color.GREEN);
Object redSpan = new BackgroundColorSpan(Color.RED);
spannableString.setSpan(greenSpan, 0, 6, 0);
spannableString.setSpan(redSpan, 6, spannableString.length(), 0);

TextView textView = (TextView) findViewById(R.id.text);
textView.setText(spannableString);

Производит:

введите здесь описание изображения

РЕДАКТИРОВАТЬ: существует множество различных типов spannable, вы можете делать гораздо более красивые вещи, чем мой базовый пример. Ознакомьтесь с этой статьей.

person Bradley Campbell    schedule 29.09.2014
comment
Спасибо. Я попробую это позже. - person user2260040; 29.09.2014