Então, em meu código, criei um ClickListener para interceptar o evento tap naquele TextView:
EDITAR: A partir da API 23 'setTextAppearance' está obsoleto
Na verdade, isso não funciona com estilos de sombra. Se você deseja alterar a sombra, deve fazê-lo da seguinte maneira: lockText.setShadowLayer (20, 4, 4, 0xFFFF0000);
Lukas
3
Para evitar a verificação do SDK, você pode usar TextViewCompat.setTextAppearance (myTextView, R.style.myStyle);
Justin Fiedler
90
Como Jonathan sugeriu, usando textView.setTextTypefaceobras, acabei de usar em um aplicativo há alguns segundos.
textView.setTypeface(null,Typeface.BOLD);// Typeface.NORMAL, Typeface.ITALIC etc.
textView.setTypeface (null, Typeface.BOLD) é o que funcionou para mim. Claro, você poderia usar 1 em vez disso, mas acho que não é uma boa prática inserir constantes manualmente. Melhor usar variáveis predefinidas em bibliotecas.
Pijusn
4
Não incentive as pessoas a usarem ints em vez de constantes
Chris.Jenkins
3
Um bom! Meu erro foi enviar minha fonte antiga como primeiro parâmetro. Portanto, funciona quando eu mudo NORMAL -> NEGRITO, mas não NEGRITO -> NORMAL. Eu não sabia que o primeiro parâmetro poderia ser nulo! Agora funciona bem para mim!
Você pode fazer programaticamente usando setTypeface ():
textView.setTypeface(null,Typeface.NORMAL);// for Normal Text
textView.setTypeface(null,Typeface.BOLD);// for Bold only
textView.setTypeface(null,Typeface.ITALIC);// for Italic
textView.setTypeface(null,Typeface.BOLD_ITALIC);// for Bold and Italic
Isso muda o tipo de letra. não é o estilo especificado pelo OP.
HBG
É verdade, ainda assim, este era o método mais simples - e pelo que me lembro o único método - na época da postagem. Não tenho certeza se um novo método de API foi adicionado nesse meio tempo, o que permite alterar o "estilo" para negrito sem alterar a fonte. Por favor me corrija se eu estiver errado.
aqui, ele obterá o Typeface atual desta visualização de texto e o substituirá usando o novo Typeface. Um novo tipo de letra aqui é, DEFAULT_BOLDmas você pode aplicar muitos mais.
Para estilizar suas strings, anexe objetos android.text.style. * A um SpannableString ou consulte a documentação de Tipos de recursos disponíveis para obter um exemplo de configuração de texto formatado no arquivo de recurso XML.
Dependendo de qual estilo você deseja definir, você deve usar métodos diferentes. O material TextAppearance tem seu próprio setter, TypeFace tem seu próprio setter, background tem seu próprio setter, etc.
Respostas:
Fiz isso criando um novo arquivo XML da
res/values/style.xml
seguinte maneira:Também tenho entradas no meu arquivo "strings.xml" como esta:
Então, em meu código, criei um ClickListener para interceptar o evento tap naquele TextView: EDITAR: A partir da API 23 'setTextAppearance' está obsoleto
Para alterá-lo de volta, você usaria isto:
fonte
Como Jonathan sugeriu, usando
textView.setTextTypeface
obras, acabei de usar em um aplicativo há alguns segundos.fonte
Você pode configurá-lo a partir do código. Tipo de letra
fonte
Programaticamente: tempo de execução
Você pode fazer programaticamente usando setTypeface ():
XML: Tempo de Design
Você também pode definir em XML:
Espero que isso ajude
Summved
fonte
eu descobri
textView.setTypeface(Typeface.DEFAULT_BOLD);
que é o método mais simples.fonte
tente esta linha de código.
aqui, ele obterá o Typeface atual desta visualização de texto e o substituirá usando o novo Typeface. Um novo tipo de letra aqui é,
DEFAULT_BOLD
mas você pode aplicar muitos mais.fonte
Consulte o doco para setText () em TextView http://developer.android.com/reference/android/widget/TextView.html
fonte
Dependendo de qual estilo você deseja definir, você deve usar métodos diferentes. O material TextAppearance tem seu próprio setter, TypeFace tem seu próprio setter, background tem seu próprio setter, etc.
fonte