A resposta wtsang02 é a melhor maneira de fazer isso, pois o Html.fromHtml ("") agora está obsoleto. Aqui, eu apenas vou aprimorá-lo um pouco para quem está tendo problemas para tornar dinamicamente a primeira palavra em negrito, independentemente do tamanho da frase.
Primeiro vamos criar um método para obter a primeira palavra:
private String getFirstWord(String input){
for(int i = 0; i < input.length(); i++){
if(input.charAt(i) == ' '){
return input.substring(0, i);
}
}
return input;
}
Agora, digamos que você tenha uma sequência longa como esta:
String sentence = "friendsAwesomeName@gmail.com want's to be your friend!"
E você quer que sua frase seja como yourAwesomeName@gmail.com quer ser sua amiga! Tudo o que você precisa fazer é obter a primeira palavra e obter o comprimento necessário para tornar a primeira palavra em negrito, algo como isto:
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
Agora basta seguir os passos do wtsang02 , desta maneira:
SpannableStringBuilder fancySentence = new SpannableStringBuilder(sentence);
fancySentence.setSpan(new android.text.style.StyleSpan(Typeface.BOLD), start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(fancySentence);
E é isso! Agora você deve poder colocar uma palavra em negrito com qualquer tamanho, de sentença longa / curta. Espero que ajude alguém, feliz codificação :)