Ответ wtsang02 - лучший способ сделать это, так как теперь Html.fromHtml ("") устарел. Здесь я просто собираюсь немного его улучшить для тех, у кого возникают проблемы с динамическим выделением жирным шрифтом первого слова, независимо от размера предложения.
Сначала давайте создадим метод, чтобы получить первое слово:
private String getFirstWord(String input){
for(int i = 0; i < input.length(); i++){
if(input.charAt(i) == ' '){
return input.substring(0, i);
}
}
return input;
}
Теперь предположим, что у вас есть длинная строка, подобная этой:
String sentence = "friendsAwesomeName@gmail.com want's to be your friend!"
И вы хотите, чтобы ваше предложение было похоже на yourAwesomeName@gmail.com , чтобы оно было вашим другом! Все, что вам нужно сделать, - это набрать первое слово и набрать длину, чтобы жирное слово было первым, примерно так:
String myFirstWord = getFirstWord(sentence);
int start = 0; // bold will start at index 0
int end = myFirstWord.length(); // and will finish at whatever the length of your first word
Теперь просто следуйте инструкциям wtsang02 , например:
SpannableStringBuilder fancySentence = new SpannableStringBuilder(sentence);
fancySentence.setSpan(new android.text.style.StyleSpan(Typeface.BOLD), start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(fancySentence);
И это все! Теперь вы должны иметь возможность выделять слово любого размера из длинного / короткого предложения. Надеюсь, это поможет кому-то, счастливое кодирование :)