Bagaimana Anda mengubah teks menjadi huruf tebal di Android?


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.


351

Ini solusinya

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

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.


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)


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>");


16

Jika Anda menggambar maka ini akan melakukannya:

TextPaint.setFlags(Paint.FAKE_BOLD_TEXT_FLAG);

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


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

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"

9

Cara terbaik untuk pergi adalah:

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

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


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"

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

3

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

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


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

akan mengatur baik tipografi maupun gaya menjadi Bold.


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.