Quero deixar TextView
o conteúdo de um negrito, itálico e sublinhado. Eu tentei o código a seguir e funciona, mas não sublinha.
<Textview android:textStyle="bold|italic" ..
Como eu faço isso? Alguma idéia rápida?
android
textview
text-styling
d-man
fonte
fonte
tv.setTypeface(null, Typeface.BOLD_ITALIC);
Respostas:
Não sei sobre sublinhado, mas para negrito e itálico existe
"bolditalic"
. Não há menção de sublinhado aqui: http://developer.android.com/reference/android/widget/TextView.html#attr_android:textStyleLembre-se de que para usar o mencionado
bolditalic
você precisa, e cito essa páginaentão você usaria
bold|italic
Você pode verificar esta pergunta para sublinhar: Posso sublinhar texto em um layout Android?
fonte
textView.setPaintFlags(Paint.UNDERLINE_TEXT_FLAG);
Isso deve deixar seu TextView em negrito , sublinhado e itálico ao mesmo tempo.
strings.xml
Para definir essa String como seu TextView, faça isso em seu main.xml
ou em JAVA ,
Às vezes, a abordagem acima não será útil quando você precisar usar o Texto dinâmico. Portanto, nesse caso, o SpannableString entra em ação.
RESULTADO
fonte
new StyleSpan(Typeface.BOLD_ITALIC)
Ou assim em Kotlin:
Ou em Java:
Mantenha-o simples e em uma linha :)
fonte
paintFlags
necessário? Está funcionando sem quePara negrito e itálico, o que você está fazendo está correto para sublinhado, use o código a seguir
HelloAndroid.java
main.xml
string.xml
fonte
underline
valor nulo da passagem, em vez donew UnderlineSpan()
seguintecontent.setSpan(null, 0, content.length(), 0);
Essa é uma maneira fácil de adicionar um sublinhado, mantendo outras configurações:
fonte
Programaticamente:
Você pode fazer programaticamente usando o método setTypeface ():
Abaixo está o código para o Tipo de letra padrão
e se você deseja definir um tipo de letra personalizado:
XML:
Você pode definir diretamente no arquivo XML como:
fonte
Se você estiver lendo esse texto de um arquivo ou da rede.
Você pode conseguir isso adicionando tags HTML ao seu texto, como mencionado
e, em seguida, você pode usar a classe HTML que processa as seqüências HTML em texto com estilo exibível.
fonte
Sem aspas funciona para mim:
fonte
fonte
Apenas uma linha de código em xml
fonte
Você pode alcançá-lo facilmente usando o Kotlin's
buildSpannedString{}
sob suacore-ktx
dependência.fonte