2014-10-07 1 views
1

Как я могу применить интервалы в тексте EditText при создании пользователя?Android EditText: как применять интервалы при составлении?

Например, пользователь активировал «жирный шрифт» при составлении, поэтому каждый ввод символов с тех пор должен быть жирным шрифтом.

Я думал о добавлении прослушивателя смены текста в EditText и обновлении текста, когда пользователь сочиняет, но я хочу знать, есть ли лучший способ сделать это.

+0

вы не нужно ничего: например, установить смелой промежуток с длиной 3, а затем поместите курсор внутри него и начать печатать .. – pskink

+0

@pskink - А что, если текста вообще нет? – user3705007

+0

Подсказка: попробуйте разные флаги setSpan – pskink

ответ

0

Вопрос был дан ответ в комментариях, но чтобы сделать его более постоянным, я добавлю более полный ответ.

Чтобы установить диапазон (например, полужирный), где бы он ни находился, вы просто устанавливаете интервал текста в позиции курсора (или выбора).

StyleSpan boldSpan = new StyleSpan(Typeface.BOLD); 
int start = editText.getSelectionStart(); 
int end = editText.getSelectionEnd(); 
int flag = Spannable.SPAN_INCLUSIVE_INCLUSIVE; 
editText.getText().setSpan(boldSpan, start, end, flag); 

SPAN_INCLUSIVE_INCLUSIVE флаг означает, что любой текст, добавленный до или после того, как оболочка будет включена в пролете, даже если длина текста 0 при добавлении диапазона.

Смотрите также