Jak zmienić tekst na pogrubiony w Androidzie?

433

Jak zmienić tekst / czcionkę ustawienia w Androidzie TextView?

Jak na przykład pogrubić tekst ?

nitin
źródło
Sprawdź moją odpowiedź tutaj . Mam nadzieję, że to ci pomoże
podsumował Jain,
3
kliknij tutaj
Thomas Daniel

Odpowiedzi:

552

Aby to zrobić w layout.xmlpliku:

android:textStyle

Przykłady:

android:textStyle="bold|italic"

Programowo metoda jest następująca:

setTypeface(Typeface tf)

Ustawia krój i styl, w jakim tekst powinien być wyświetlany. Zwróć uwagę, że nie wszystkie Typefacerodziny mają odważne i kursywne warianty, więc może być konieczne użycie tej opcji, setTypeface(Typeface, int)aby uzyskać pożądany wygląd.

Fobos
źródło
351

Oto rozwiązanie

TextView questionValue = (TextView) findViewById(R.layout.TextView01);
questionValue.setTypeface(null, Typeface.BOLD);
Sudipta Som
źródło
77

Po prostu możesz wykonać następujące czynności:

Ustaw atrybut w XML

  android:textStyle="bold"

Programowo metoda jest następująca:

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

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

Tv.setTypeface(boldTypeface);

Mam nadzieję, że to pomoże Ci podziękować.

saeed
źródło
Daj mi znać wynik
powiedział
54

W XML

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

Można używać tylko konkretnych czcionek sans, serifi monospacepoprzez XML, kod Java mogą używać własnych czcionek

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

Programowo (kod 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
źródło
22

Ustaw atrybut

android:textStyle="bold"
koljaTM
źródło
20

W przypadku, gdy używasz niestandardowych czcionek, ale nie masz pogrubionego kroju czcionki, którego możesz użyć:

myTextView.setText(Html.fromHtml("<b>" + myText + "</b>");
Niko
źródło
18

To jest bardzo łatwe

setTypeface(Typeface.DEFAULT_BOLD);
HatemTmi
źródło
16

Jeśli go rysujesz, zrobi to:

TextPaint.setFlags(Paint.FAKE_BOLD_TEXT_FLAG);
noelicus
źródło
16

W idealnym świecie ustawiłbyś atrybut stylu tekstu w definicji XML układu w następujący sposób:

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

Istnieje prosty sposób, aby dynamicznie osiągnąć ten sam wynik w kodzie za pomocą setTypefacemetody. Musisz przekazać i obiekt klasy Typeface , która opisuje styl czcionki dla tego TextView. Aby osiągnąć taki sam wynik jak w powyższej definicji XML, możesz wykonać następujące czynności:

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

Pierwszy wiersz utworzy obiekt o zdefiniowanym stylu (w tym przypadku Typeface.BOLD , ale istnieje wiele innych predefiniowanych). Gdy mamy już krój pisma, możemy ustawić go w TextView. I to wszystko, nasze treści będą wyświetlane w zdefiniowanym przez nas stylu.

Mam nadzieję, że bardzo ci to pomoże. Aby uzyskać więcej informacji, odwiedź stronę

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

IntelliJ Amiya
źródło
14

Z XML można ustawić textstyle do śmiały jak poniżej

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

Z programowego punktu widzenia możesz ustawić pogrubienie TextView jak poniżej

textview.setTypeface(Typeface.DEFAULT_BOLD);
Udara Abeythilake
źródło
10

Zdefiniuj nowy styl o żądanym formacie w pliku style.xml w folderze wartości

<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>

Następnie zastosuj ten styl do TextView, pisząc następujący kod z właściwościami TextView

style="@style/TextViewStyle"
Siedem
źródło
9

Najlepszym sposobem jest:

TextView tv = findViewById(R.id.textView);
tv.setTypeface(Typeface.DEFAULT_BOLD);
sabbibJAVA
źródło
6

Zakładając, że jesteś nowym starterem w Android Studio, po prostu możesz to zrobić w widoku XML projektu za pomocą

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
źródło
6

w pliku .xml , ustaw

android:textStyle="bold" 

ustawia typ tekstu jest pogrubiony.

Hoang Nguyen Viet
źródło
5

Możesz użyć tego do czcionki

utwórz nazwę klasy TypefaceTextView i rozszerz TextView

prywatna statyczna mapa 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();
    }
}

wklej czcionkę do folderu czcionek utworzonego w folderze zasobów

<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**

Umieść linie w układzie nadrzędnym w pliku xml

 xmlns:app="http://schemas.android.com/apk/res/com.mediasters.wheresmyturf"
xmlns:custom="http://schemas.android.com/apk/res-auto"
Amaresh Jana
źródło
4

4 sposoby na pogrubienie Android TextView - pełna odpowiedź jest tutaj.

  1. Korzystanie z Androida: atrybut textStyle

    <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TEXTVIEW 1" android:textStyle="bold" /> Użyj pogrubionej | kursywy dla pogrubienia i kursywy.

  2. przy użyciu metody setTypeface ()

    textview2.setTypeface(null, Typeface.BOLD);
    textview2.setText("TEXTVIEW 2");
  3. Metoda HtmlCompat.fromHtml (), Html.fromHtml () została uznana za przestarzałą na poziomie API 24.

     String html="This is <b>TEXTVIEW 3</b>";
     textview3.setText(HtmlCompat.fromHtml(html,Typeface.BOLD));
Athira Reddy
źródło
3

W moim przypadku przekazywanie wartości przez string.xml działało z tagiem HTML.

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

Rajesh Naddy
źródło
1
editText.setTypeface(Typeface.createFromAsset(getAssets(), ttfFilePath));
etitText.setTypeface(et.getTypeface(), Typeface.BOLD);

ustawi zarówno czcionkę, jak i styl na Pogrubienie.

Sanket Patankar
źródło
2
Powinieneś dołączyć krótkie wyjaśnienie swojej odpowiedzi, aby lepiej opisać jej przypadek użycia i implementację.
Dow Benyomin Sohacheski
Nie dodaje to niczego nowego do istniejących odpowiedzi.
nvoigt
@nvoigt, jego odpowiedź różni się od wielu innych, przynajmniej drugiej linii. Prawdopodobnie jest to lepsze niż inne rozwiązania. Myślę, że to jest zrobione z stackoverflow.com/questions/6200533/... .
CoolMind