Establecer el estilo de TextView (negrita o cursiva)

¿Cómo establecer el estilo de TextView (negrita o cursiva) en Java y sin utilizar el diseño XML?

En otras palabras, necesito escribir android:textStyle con Java.

 textView.setTypeface(null, Typeface.BOLD_ITALIC); textView.setTypeface(null, Typeface.BOLD); textView.setTypeface(null, Typeface.ITALIC); textView.setTypeface(null, Typeface.NORMAL); 

Para mantener el tipo de letra anterior

 textView.setTypeface(textView.getTypeface(), Typeface.BOLD_ITALIC) 

Pruebe esto para configurar TextView para negrita o cursiva

 textView.setTypeface(textView.getTypeface(), Typeface.BOLD); textView.setTypeface(textView.getTypeface(), Typeface.ITALIC); textView.setTypeface(textView.getTypeface(), Typeface.BOLD_ITALIC); 

Progtwigdo:

Puedes hacer programáticamente 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 

XML:

Puede establecer directamente en el archivo XML en como:

 android:textStyle="normal" android:textStyle="normal|bold" android:textStyle="normal|italic" android:textStyle="bold" android:textStyle="bold|italic" 

Tienes dos opciones:

Opción 1 (solo funciona para negrita, cursiva y subrayado):

 String s = "Bolded text, italic text, even underlined!" TextView tv = (TextView)findViewById(R.id.THE_TEXTVIEW_ID); tv.setText(Html.fromHtml(s)); 

Opcion 2:

Use un Spannable ; es más complicado, pero puede modificar dinámicamente los atributos del texto (no solo en negrita / cursiva, sino también en colores).

Progtwigdo:

Puedes hacer programáticamente usando el método setTypeface() :

A continuación se muestra el código para Tipo de letra por defecto

 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 

y si quiere establecer Typeface personalizado :

 textView.setTypeface(textView.getTypeface(), Typeface.NORMAL); // for Normal Text textView.setTypeface(textView.getTypeface(), Typeface.BOLD); // for Bold only textView.setTypeface(textView.getTypeface(), Typeface.ITALIC); // for Italic textView.setTypeface(textView.getTypeface(), Typeface.BOLD_ITALIC); // for Bold and Italic 

XML:

Puede establecer directamente en el archivo XML en como este:

 android:textStyle="normal" android:textStyle="normal|bold" android:textStyle="normal|italic" android:textStyle="bold" android:textStyle="bold|italic" 

O puede establecer su fuente favorita (de activos). para más información, ver enlace

 TextView text = (TextView)findViewById(R.id.THE_TEXTVIEW_ID); 

ahora establece las propiedades de la vista de textview .

 text.setTypeface(null, Typeface.BOLD); //-- for only bold the text text.setTypeface(null, Typeface.BOLD_ITALIC); //-- for bold & italic the text text.setTypeface(null, Typeface.ITALIC); // -- for italic the text 

Simplemente si quieres hacer un texto en negrita . escriba esta línea en su diseño en la propiedad de vista de texto

 android:textStyle="bold" 

prueba esto para configurar tu estilo TextView por código java

 txt1.setTypeface(null,Typeface.BOLD_ITALIC); 
 TextView text = (TextView)findViewById(R.layout.textName); text.setTypeface(null,Typeface.BOLD); 

Podría ser

 yourTextView.setTypeface(null,Typeface.DEFAULT_BOLD); 

y cursiva debería ser capaz de reemplazar Typeface.DEFAULT_BOLD con Typeface.DEFAULT_ITALC .

Déjame saber cómo funciona.

Use textView.setTypeface(Typeface tf, int style); para establecer la propiedad de estilo de TextView . Consulte la documentación del desarrollador para más información.

Prueba esto:

 TextView textview = (TextView)findViewById(R.id.textview_idname); textview.setTypeface(null,Typeface.BOLD); 

La forma estándar de hacer esto es usar los estilos personalizados. Ex-

En styles.xml agrega lo siguiente.

   

Aplique este estilo a su TextView siguiente manera.

  

Como quiero usar una fuente personalizada, solo la conjunción de varias respuestas funciona para mí. Obviamente, la configuración en mi layout.xml como android:textStlyle="italic" fue ignorada por AOS. Así que finalmente tuve que hacer lo siguiente: en strings.xml la cadena objective se declaró como:

 The information blah blah ... 

luego adicionalmente en código:

 TextView textSign = (TextView) findViewById(R.id.txt_sign); FontHelper.setSomeCustomFont(textSign); textSign.setTypeface(textSign.getTypeface(), Typeface.ITALIC); 

No probé la opción Spannable (que supongo que DEBE funcionar) pero

 textSign.setText(Html.fromHtml(getString(R.string.txt_sign))) 

no tuvo efecto. Además, si strings.xml italic tag de strings.xml dejando el setTypeface() solo, tampoco tiene ningún efecto. Tricky Android …

Y como se explica aquí Recursos de cadenas de desarrolladores de Android si necesita usar parámetros en su recurso de texto con estilo, debe escapar de los corchetes de apertura

  Hello, %1$s! You have <b>%2$d new messages</b>.  

y llame a formatHtml (cadena)

 Resources res = getResources(); String text = String.format(res.getString(R.string.welcome_messages), username, mailCount); CharSequence styledText = Html.fromHtml(text); 

Una forma de hacerlo es:

 myTextView.setTypeface(null, Typeface.ITALIC); myTextView.setTypeface(null, Typeface.BOLD_ITALIC); myTextView.setTypeface(null, Typeface.BOLD); myTextView.setTypeface(null, Typeface.NORMAL); 

Otra opción si desea mantener el tipo de letra anterior y no desea perder previamente aplicado entonces:

 myTextView.setTypeface(textView.getTypeface(), Typeface.NORMAL); myTextView.setTypeface(textView.getTypeface(), Typeface.BOLD); myTextView.setTypeface(textView.getTypeface(), Typeface.ITALIC); myTextView.setTypeface(textView.getTypeface(), Typeface.BOLD_ITALIC); 

Puedes intentarlo así:

 Your Text 

En mi caso:

1 – establecer texto

2 – establecer tipo de letra

 holder.title.setText(item.nome); holder.title.setTypeface(null, Typeface.BOLD); 

La mejor forma es definirlo en styles.xml

  

Y actualizarlo en TextView

   
 AppCompatTextView text =(AppCompatTextView)findViewById(R.layout.appCompatTextView1); text.setTypeface(null,Typeface.BOLD); 

Use el método anterior para establecer el tipo de letra programáticamente.

Esto es lo único que funcionó para mí en un OnePlus 5T configurado con la fuente OnePlus Slate ™:

 textView.setTypeface(Typeface.create(textView.getTypeface(), useBold ? Typeface.BOLD : Typeface.NORMAL)); 

Otros métodos harían que recurra a Roboto cuando sea BOLD o NORMAL.