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.