Я пытаюсь создать функцию, которая примет строку «слово» в качестве аргумента, примените стиль span к строке и вернет ее как растянутую строку, которую я может ""+insert+""
в строку в TextView
. Заранее благодарю вас за любую помощь, которую вы можете предложить.Функция, чтобы возвратить spannable и добавить его к строке в textview
Вот функция, которую я имею до сих пор.
public Spannable fr(String word){
Spannable WordtoSpan = new SpannableString(word);
WordtoSpan.setSpan(new ForegroundColorSpan(Color.BLUE), 0,
word.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
WordtoSpan.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 0,
word.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
return WordtoSpan;
}
и код, который должен отображать расширяемый встроенный текст.
TextView tview = (TextView) findViewById(R.id.accents_view);
tview.setText(Html.fromHtml("<strong>Text String</strong> "+fr("style_this"));
Приложение будет либо загружать текст без стилизации, либо приложение будет аварийно завершено. Не уверен, что я делаю неправильно, но я предполагаю, что это имеет какое-то отношение к микшированию из HTML-текста с spannables. Любая работа вокруг?
Если я удаляю Html.fromHtml()
и обертываю весь текст своей функцией fr()
, он работает. Я получаю полужирный синий текст. Но мне нужно иметь возможность делать только определенные слова в стиле ... Было бы неплохо иметь возможность ссылаться на vars из моего файла string.xml, а не на жесткую их кодировку, для многоязыковой поддержки.
Если удалить Html.fromHtml() и завернуть весь текст с моей функции фр() она работает. Я получаю полужирный синий текст. Но мне нужно иметь возможность делать только определенные слова в стиле ... Было бы неплохо иметь возможность ссылаться на vars из моего файла string.xml, а не на жесткую их кодировку, для многоязыковой поддержки. –