¿Cómo se cambia el texto a negrita en Android?

433

¿Cómo se cambia la configuración de texto / fuente en un Android?TextView ?

Por ejemplo, ¿cómo se pone el texto en negrita ?

nada
fuente
Por favor revisa mi respuesta aquí . Espero que esto te ayude
Summved Jain
3
haga clic aquí
Thomas Daniel

Respuestas:

552

Para hacer esto en el layout.xmlarchivo:

android:textStyle

Ejemplos:

android:textStyle="bold|italic"

Programáticamente el método es:

setTypeface(Typeface tf)

Establece el tipo de letra y el estilo en el que se debe mostrar el texto. Tenga en cuenta que no todas las Typefacefamilias tienen variantes en negrita y cursiva, por lo que es posible que deba usar setTypeface(Typeface, int)para obtener la apariencia que realmente desea.

Fobos
fuente
351

Aquí esta la solución

TextView questionValue = (TextView) findViewById(R.layout.TextView01);
questionValue.setTypeface(null, Typeface.BOLD);
Sudipta Som
fuente
77

Simplemente puede hacer lo siguiente:

Establecer el atributo en XML

  android:textStyle="bold"

Programáticamente el método es:

TextView Tv = (TextView) findViewById(R.id.TextView);

Typeface boldTypeface = Typeface.defaultFromStyle(Typeface.BOLD);

Tv.setTypeface(boldTypeface);

Espero que esto te ayude, gracias.

Saeed
fuente
Déjame saber el resultado
saeed
54

En XML

android:textStyle="bold" //only bold
android:textStyle="italic" //only italic
android:textStyle="bold|italic" //bold & italic

Solo puede usar fuentes específicas sans, serify a monospacetravés de xml, el código Java puede usar fuentes personalizadas

android:typeface="monospace" // or sans or serif

Programáticamente (código Java)

TextView textView = (TextView) findViewById(R.id.TextView1);

textView.setTypeface(Typeface.SANS_SERIF); //only font style
textView.setTypeface(null,Typeface.BOLD); //only text style(only bold)
textView.setTypeface(null,Typeface.BOLD_ITALIC); //only text style(bold & italic)
textView.setTypeface(Typeface.SANS_SERIF,Typeface.BOLD); 
                                         //font style & text style(only bold)
textView.setTypeface(Typeface.SANS_SERIF,Typeface.BOLD_ITALIC);
                                         //font style & text style(bold & italic)
MaxEcho
fuente
22

Establecer el atributo

android:textStyle="bold"
koljaTM
fuente
20

Para el caso en el que está utilizando fuentes personalizadas, pero no tiene un tipo de letra en negrita para la fuente que puede usar:

myTextView.setText(Html.fromHtml("<b>" + myText + "</b>");
Niko
fuente
18

Es muy fácil

setTypeface(Typeface.DEFAULT_BOLD);
HatemTmi
fuente
16

Si lo estás dibujando, esto lo hará:

TextPaint.setFlags(Paint.FAKE_BOLD_TEXT_FLAG);
noelicus
fuente
16

En el mundo ideal, establecería el atributo de estilo de texto en su definición XML de diseño de esta manera:

<TextView
    android:id="@+id/TextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textStyle="bold"/>

Hay una manera simple de lograr el mismo resultado dinámicamente en su código mediante el setTypefacemétodo. Debe pasar un objeto de la clase Typeface , que describirá el estilo de fuente para ese TextView. Entonces, para lograr el mismo resultado que con la definición XML anterior, puede hacer lo siguiente:

TextView Tv = (TextView) findViewById(R.id.TextView);
Typeface boldTypeface = Typeface.defaultFromStyle(Typeface.BOLD);
Tv.setTypeface(boldTypeface);

La primera línea creará el estilo predefinido de la forma del objeto (en este caso, Typeface.BOLD , , pero hay muchos más predefinidos). Una vez que tengamos una instancia de tipografía, podemos configurarla en TextView. Y eso es todo, nuestro contenido se mostrará en el estilo que definimos.

Espero que te ayude mucho. Para obtener más información, puedes visitar

http://developer.android.com/reference/android/graphics/Typeface.html

IntelliJ Amiya
fuente
14

Desde el XML puede establecer textStyle en negrita como se muestra a continuación

<TextView
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="Bold text"
   android:textStyle="bold"/>

Desde el punto de vista programático, puede establecer TextView en negrita como se muestra a continuación

textview.setTypeface(Typeface.DEFAULT_BOLD);
Udara Abeythilake
fuente
10

Defina un nuevo estilo con el formato que desee en el archivo style.xml en la carpeta de valores

<style name="TextViewStyle" parent="AppBaseTheme">
    <item name="android:textStyle">bold</item>
    <item name="android:typeface">monospace</item>
    <item name="android:textSize">16sp</item>
    <item name="android:textColor">#5EADED</item>

</style>

Luego aplique este estilo a TextView escribiendo el siguiente código con las propiedades de TextView

style="@style/TextViewStyle"
Siete
fuente
9

La mejor manera de ir es:

TextView tv = findViewById(R.id.textView);
tv.setTypeface(Typeface.DEFAULT_BOLD);
sabbibJAVA
fuente
6

Suponiendo que es un nuevo iniciador en Android Studio, simplemente puede hacerlo en la vista de diseño XML utilizando

android:textStyle="bold"          //to make text bold
android:textStyle="italic"        //to make text italic
android:textStyle="bold|italic"   //to make text bold & italic
Dan Tilakaratne
fuente
6

en el archivo .xml , establezca

android:textStyle="bold" 

establecerá el tipo de texto en negrita.

Hoang Nguyen Viet
fuente
5

Puedes usar esto para la fuente

crear un nombre de clase TypefaceTextView y extender TextView

Mapa estático privado mTypefaces;

public TypefaceTextView(final Context context) {
    this(context, null);
}

public TypefaceTextView(final Context context, final AttributeSet attrs) {
    this(context, attrs, 0);
}

public TypefaceTextView(final Context context, final AttributeSet attrs, final int defStyle) {
    super(context, attrs, defStyle);
    if (mTypefaces == null) {
        mTypefaces = new HashMap<String, Typeface>();
    }

    if (this.isInEditMode()) {
        return;
    }

    final TypedArray array = context.obtainStyledAttributes(attrs, styleable.TypefaceTextView);
    if (array != null) {
        final String typefaceAssetPath = array.getString(
                R.styleable.TypefaceTextView_customTypeface);

        if (typefaceAssetPath != null) {
            Typeface typeface = null;

            if (mTypefaces.containsKey(typefaceAssetPath)) {
                typeface = mTypefaces.get(typefaceAssetPath);
            } else {
                AssetManager assets = context.getAssets();
                typeface = Typeface.createFromAsset(assets, typefaceAssetPath);
                mTypefaces.put(typefaceAssetPath, typeface);
            }

            setTypeface(typeface);
        }
        array.recycle();
    }
}

pegue la fuente en la carpeta de fuentes creada en la carpeta del activo

<packagename.TypefaceTextView
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1.5"
        android:gravity="center"
        android:text="TRENDING TURFS"
        android:textColor="#000"
        android:textSize="20sp"
        app:customTypeface="fonts/pompiere.ttf" />**here pompiere.ttf is the font name**

Coloque las líneas en el diseño principal en el xml

 xmlns:app="http://schemas.android.com/apk/res/com.mediasters.wheresmyturf"
xmlns:custom="http://schemas.android.com/apk/res-auto"
Amaresh Jana
fuente
4

4 formas de poner en negrita TextView de Android : la respuesta completa está aquí.

  1. Usando android: atributo textStyle

    <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TEXTVIEW 1" android:textStyle="bold" /> Use negrita | cursiva para negrita y cursiva.

  2. utilizando el método setTypeface ()

    textview2.setTypeface(null, Typeface.BOLD);
    textview2.setText("TEXTVIEW 2");
  3. El método HtmlCompat.fromHtml (), Html.fromHtml () fue desaprobado en el nivel 24 de API.

     String html="This is <b>TEXTVIEW 3</b>";
     textview3.setText(HtmlCompat.fromHtml(html,Typeface.BOLD));
Athira Reddy
fuente
3

En mi caso, pasar el valor a través de string.xml funcionó con la etiqueta html.

<string name="your_string_tag"> <b> your_text </b></string>

Rajesh Naddy
fuente
1
editText.setTypeface(Typeface.createFromAsset(getAssets(), ttfFilePath));
etitText.setTypeface(et.getTypeface(), Typeface.BOLD);

configurará el tipo de letra y el estilo en negrita.

Sanket Patankar
fuente
2
Debe incluir una breve explicación de su respuesta para describir mejor su caso de uso y su implementación.
Dov Benyomin Sohacheski
Esto no agrega nada nuevo a las respuestas existentes.
nvoigt
@nvoigt, su respuesta difiere de muchas otras, al menos la segunda línea. Probablemente sea mejor que otras soluciones. Creo que está capturado de stackoverflow.com/questions/6200533/… .
CoolMind