Страница 1 из 1

Стиль текста

Добавлено: 11 апр 2016, 20:00
Simac
Текст в textViev передается из xml файла с ресурсами(в данном случае там строки). Необходимо отдельные слова строки выделить курсивом/полужирным. Возможно ли это сделать? И есть ли возможность ставить индексы к буквам? Пишу что-то вроде справочника по физике и это очень бы помогло

Re: Стиль текста

Добавлено: 11 апр 2016, 22:36
Foenix
форматни в html к примеру и открой в вебвью. \

Но вроде и текствью я как-то жирным делала, причем прям из строковых ресурсов, так что возможно.
[syntax=html5]String s = "<b>Bolded text</b>, <i>italic text</i>, even <u>underlined</u>!"
TextView tv = (TextView)findViewById(R.id.THE_TEXTVIEW_ID);
tv.setText(Html.fromHtml(s));[/syntax]

Re: Стиль текста

Добавлено: 12 апр 2016, 09:10
math64
<b> и <i> можно использовать прямо в strings.xml . Грузится с помощью getText() вместо getString(). Более сложные теги - через html или вручную:

Код: Выделить всё

CharacterSpan bold = new StyleSpan(Typeface.BOLD);
CharacterSpan bold2 = new StyleSpan(Typeface.BOLD);
CharacterSpan green = new ForegroundColorSpan(0xFF00FF00);
SpannableString text = SpannableString.valueOf(str);
text.setSpan(bold, beginBold, endBold, 0);
text.setSpan(bold2, beginBold2, endBold2, 0);
text.setSpan(green, beginGreen, endGreen, 0);

Re: Стиль текста

Добавлено: 16 апр 2016, 07:55
GRAF_COLLIOSTRO
у меня ещё одна нерешённая проблема с разметкой:

юзаю ресурсы с тегами <b><i><u>
всё отрабатывает, но есть один загон: у первого абзаца никогда нет отступа у первой буквы слева. почему? и как исправить?
получается всегда так:

ресурс:

Код: Выделить всё

<string name="text">
абзац1фдлыовфлдыофдлы\n
абзац2фдлыовфлдыофдлы\n
абзац3фдлыовфлдыофдлы\n
</string>
выводится в TextView как:

абзац1фдлыовфлдыофдлыв
&nbsp &nbsp &nbsp абзац2фдлыовфлдыофдлы
&nbsp &nbsp &nbsp абзац3фдлыовфлдыофдлы

Re: Стиль текста

Добавлено: 18 апр 2016, 21:19
math64
Ведущие и завершающие пробелы автоматом удаляются. Чтобы этого не было, строку можно взять в кавычки.

Re: Стиль текста

Добавлено: 19 апр 2016, 08:38
GRAF_COLLIOSTRO
math64 писал(а):Ведущие и завершающие пробелы автоматом удаляются. Чтобы этого не было, строку можно взять в кавычки.

речь не идёт о пробелах. их там нет и не должно быть.

Речь идёт именно о стиле текста с отступом первой строки КАЖДОГО абзаца. Кавычки тут не помогают, к сожалению( Первый абзац почему-то не имеет указанного отступа... Единственный костыль, который приходит в голову начинать строку со "\n текст текст текст"... но ИМХО как-то это неправильно... или использовать тег <p></p>... но по-мойму хитрость сидит где-то в стиле