Bagaimana Anda mengubah teks menjadi huruf tebal di Android?

433

Bagaimana Anda mengubah pengaturan teks / font di Android TextView?

Misalnya, bagaimana Anda membuat teks tebal ?

nithin
sumber
Silakan periksa jawaban saya di sini . Semoga ini bisa membantu Anda
Summved Jain
3
klik di sini
Thomas Daniel

Jawaban:

552

Untuk melakukan ini di layout.xmlfile:

android:textStyle

Contoh:

android:textStyle="bold|italic"

Secara terprogram metode yang digunakan adalah:

setTypeface(Typeface tf)

Mengatur jenis huruf dan gaya di mana teks harus ditampilkan. Perhatikan bahwa tidak semua Typefacekeluarga benar-benar memiliki varian huruf tebal dan miring, jadi Anda mungkin perlu menggunakan setTypeface(Typeface, int)untuk mendapatkan penampilan yang sebenarnya Anda inginkan.

Fobia
sumber
351

Ini solusinya

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

Cukup Anda dapat melakukan hal berikut:

Setel atribut di XML

  android:textStyle="bold"

Secara programatik metode ini adalah:

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

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

Tv.setTypeface(boldTypeface);

Semoga ini bisa membantu Anda, terima kasih.

berkata
sumber
Biarkan saya tahu hasilnya
katakan
54

Dalam XML

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

Anda hanya dapat menggunakan font tertentu sans, serif& monospacemelalui xml, kode Java dapat menggunakan font khusus

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

Secara terprogram (kode 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
sumber
22

Atur atributnya

android:textStyle="bold"
koljaTM
sumber
20

Untuk kasus di mana Anda menggunakan font khusus, tetapi tidak memiliki huruf tebal untuk font yang dapat Anda gunakan:

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

Sangat mudah

setTypeface(Typeface.DEFAULT_BOLD);
HatemTmi
sumber
16

Jika Anda menggambar maka ini akan melakukannya:

TextPaint.setFlags(Paint.FAKE_BOLD_TEXT_FLAG);
Noelicus
sumber
16

Di dunia ideal Anda akan mengatur atribut gaya teks dalam tata letak definisi XML Anda seperti itu:

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

Ada cara sederhana untuk mencapai hasil yang sama secara dinamis dalam kode Anda dengan menggunakan setTypefacemetode. Anda harus lulus dan objek kelas Typeface , yang akan menggambarkan gaya font untuk TextView itu. Jadi untuk mencapai hasil yang sama dengan definisi XML di atas, Anda dapat melakukan hal berikut:

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

Baris pertama akan membuat objek bentuk gaya yang telah ditentukan (dalam hal ini Typeface.BOLD , tetapi ada banyak lagi yang telah ditetapkan sebelumnya). Setelah kita memiliki instance dari jenis huruf, kita dapat mengaturnya di TextView. Dan itu saja konten kami akan ditampilkan pada gaya yang kami tentukan.

Saya harap ini banyak membantu Anda. Untuk info yang lebih baik, Anda dapat mengunjungi

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

IntelliJ Amiya
sumber
14

Dari XML Anda dapat mengatur textStyle menjadi tebal seperti di bawah ini

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

Dari program, Anda dapat mengatur TextView menjadi tebal seperti di bawah ini

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

Tentukan gaya baru dengan format yang Anda inginkan dalam file style.xml di folder nilai

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

Kemudian terapkan gaya ini ke TextView dengan menulis kode berikut dengan properti TextView

style="@style/TextViewStyle"
Tujuh
sumber
9

Cara terbaik untuk pergi adalah:

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

Dengan asumsi Anda adalah pemula baru di Android Studio, Cukup Anda bisa menyelesaikannya dalam tampilan desain XML dengan menggunakan

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

dalam file .xml , atur

android:textStyle="bold" 

akan mengatur jenis teks menjadi tebal.

Hoang Nguyen Viet
sumber
5

Anda dapat menggunakan ini untuk font

buat Nama Kelas TypefaceTextView dan perpanjang TextView

private static Map 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();
    }
}

rekatkan font di folder font yang dibuat di folder aset

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

Tempatkan baris di tata letak induk di xml

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

4 cara untuk membuat Android TextView tebal - Jawaban lengkap ada di sini.

  1. Menggunakan atribut android: textStyle

    <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TEXTVIEW 1" android:textStyle="bold" /> Gunakan tebal | miring untuk tebal dan miring.

  2. menggunakan metode setTypeface ()

    textview2.setTypeface(null, Typeface.BOLD);
    textview2.setText("TEXTVIEW 2");
  3. Metode HtmlCompat.fromHtml (), Html.fromHtml () tidak digunakan lagi di API level 24.

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

Dalam kasus saya, Melewati nilai melalui string.xml berhasil dengan Tag html ..

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

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

akan mengatur baik tipografi maupun gaya menjadi Bold.

Sanket Patankar
sumber
2
Anda harus menyertakan penjelasan singkat tentang jawaban Anda untuk lebih menjelaskan kasus penggunaan dan implementasinya.
Dov Benyomin Sohacheski
Ini tidak mengiklankan sesuatu yang baru untuk jawaban yang ada.
nvoigt
@nvoigt, jawabannya berbeda dari yang lain, setidaknya di baris kedua. Mungkin lebih baik daripada solusi lain. Saya pikir itu ditangkap dari stackoverflow.com/questions/6200533/… .
CoolMind