Jawaban:
textView.setTypeface(null, Typeface.BOLD_ITALIC);
textView.setTypeface(null, Typeface.BOLD);
textView.setTypeface(null, Typeface.ITALIC);
textView.setTypeface(null, Typeface.NORMAL);
Untuk mempertahankan jenis huruf sebelumnya
textView.setTypeface(textView.getTypeface(), Typeface.BOLD_ITALIC)
textView.setTypeface(textView.getTypeface(), Typeface.NORMAL);
tidak akan menghapus gaya tebal atau miring dari a TextView
. Anda harus menggunakannya textView.setTypeface(null, Typeface.NORMAL);
untuk itu.
textView.setTypeface(Typeface.create(textView.getTypeface(), Typeface.NORMAL), Typeface.NORMAL);
Coba ini TextView
untuk mengaktifkan untuk cetak tebal atau miring
textView.setTypeface(textView.getTypeface(), Typeface.BOLD);
textView.setTypeface(textView.getTypeface(), Typeface.ITALIC);
textView.setTypeface(textView.getTypeface(), Typeface.BOLD_ITALIC);
tv.setTypeface(Typeface.create(tv.getTypeface(), Typeface.NORMAL));
tv.setTypeface(null, Typeface.BOLD);
akan melakukan hal yang sama (menghapus gaya jenis huruf yang ada)?
Anda dapat melakukannya secara terprogram menggunakan 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
Anda dapat mengatur secara langsung dalam file XML <TextView />
seperti:
android:textStyle="normal"
android:textStyle="normal|bold"
android:textStyle="normal|italic"
android:textStyle="bold"
android:textStyle="bold|italic"
with in Java and without using XML
Ngomong-ngomong Ini juga akan membantu orang lain.
Anda memiliki dua opsi:
Opsi 1 (hanya berfungsi untuk huruf tebal, miring, dan garis bawah):
String s = "<b>Bolded text</b>, <i>italic text</i>, even <u>underlined</u>!"
TextView tv = (TextView)findViewById(R.id.THE_TEXTVIEW_ID);
tv.setText(Html.fromHtml(s));
Pilihan 2:
Gunakan Spannable ; ini lebih rumit, tetapi Anda dapat secara dinamis mengubah atribut teks (tidak hanya tebal / miring, juga warna).
typeFace
Anda dapat mengatur satu gaya untuk seluruh teks.
Anda dapat melakukan setTypeface()
metode menggunakan metode:
Di bawah ini adalah kode untuk Typeface default
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
dan jika Anda ingin mengatur Typeface khusus :
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
Anda dapat mengatur langsung dalam file XML <TextView />
seperti ini:
android:textStyle="normal"
android:textStyle="normal|bold"
android:textStyle="normal|italic"
android:textStyle="bold"
android:textStyle="bold|italic"
Atau Anda dapat mengatur font favorit Anda (dari aset). untuk info lebih lanjut lihat tautan
TextView text = (TextView)findViewById(R.id.THE_TEXTVIEW_ID);
sekarang atur textview
propertinya ..
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
Itu akan
yourTextView.setTypeface(null,Typeface.DEFAULT_BOLD);
dan italic harus bisa diganti Typeface.DEFAULT_BOLD
dengan Typeface.DEFAULT_ITALC
.
Beri tahu saya cara kerjanya.
Gunakan textView.setTypeface(Typeface tf, int style);
untuk mengatur properti gaya dari TextView
. Lihat dokumentasi pengembang untuk info lebih lanjut.
Coba ini:
textView.setTypeface(textView.getTypeface(), Typeface.BOLD);
textView.setTypeface(textView.getTypeface(), Typeface.ITALIC);
textView.setTypeface(textView.getTypeface(), Typeface.BOLD_ITALIC);
Coba ini:
TextView textview = (TextView)findViewById(R.id.textview_idname);
textview.setTypeface(null,Typeface.BOLD);
Cara standar untuk melakukan ini adalah dengan menggunakan gaya kustom. Ex-
Di styles.xml
tambahkan berikut ini.
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="MyApp.TextAppearance.LoginText">
<item name="android:textStyle">bold|italic</item>
</style>
Terapkan gaya ini ke Anda TextView
sebagai berikut.
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/MyApp.TextAppearance.LoginText" />
Salah satu cara yang dapat Anda lakukan adalah:
myTextView.setTypeface(null, Typeface.ITALIC);
myTextView.setTypeface(null, Typeface.BOLD_ITALIC);
myTextView.setTypeface(null, Typeface.BOLD);
myTextView.setTypeface(null, Typeface.NORMAL);
Opsi lain jika Anda ingin mempertahankan jenis huruf sebelumnya dan tidak ingin kehilangan sebelumnya diterapkan:
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);
textView.setTypeface(null, Typeface.BOLD_ITALIC);
textView.setTypeface(null, Typeface.BOLD);
textView.setTypeface(null, Typeface.ITALIC);
textView.setTypeface(null, Typeface.NORMAL);
Untuk mempertahankan jenis huruf sebelumnya
textView.setTypeface(textView.getTypeface(), Typeface.BOLD_ITALIC)
Anda dapat mencoba seperti ini:
<string name="title"><u><b><i>Your Text</i></b></u></string>
Cara termudah yang dapat Anda lakukan berdasarkan kriteria pemilihan gaya adalah:
String pre = "", post = "";
if(isBold){
pre += "<b>"; post += "</b>";
}
if(isItalic){
pre += "<i>"; post += "</i>";
}
if(isUnderline){
pre += "<u>"; post += "</u>";
}
textView.setText(Html.fromHtml(pre + editText.getText().toString()+ post));
// you can also use it with EidtText
editText.setText(Html.fromHtml(pre + editText.getText().toString()+ post));
Karena saya ingin menggunakan font khusus, hanya beberapa kata yang cocok untuk saya. Jelas pengaturan di layout.xml
suka saya android:textStlyle="italic"
diabaikan oleh AOS. Jadi akhirnya saya harus melakukan sebagai berikut: dalam strings.xml
string target dinyatakan sebagai:
<string name="txt_sign"><i>The information blah blah ...</i></string>
kemudian tambahan dalam kode:
TextView textSign = (TextView) findViewById(R.id.txt_sign);
FontHelper.setSomeCustomFont(textSign);
textSign.setTypeface(textSign.getTypeface(), Typeface.ITALIC);
Saya tidak mencoba Spannable
opsi (yang saya anggap HARUS berhasil) tetapi
textSign.setText(Html.fromHtml(getString(R.string.txt_sign)))
tidak berpengaruh. Juga jika saya menghapus italic tag
dari strings.xml
meninggalkan setTypeface()
sendirian tidak memiliki efek baik. Android yang rumit ...
Dan seperti yang dijelaskan di sini Android Developers String Resources jika Anda perlu menggunakan parameter dalam sumber daya teks gaya Anda, Anda harus menghindari kurung pembuka
<resources>
<string name="welcome_messages">Hello, %1$s! You have <b>%2$d new messages</b>.</string>
</resources>
dan panggil formatHtml (string)
Resources res = getResources();
String text = String.format(res.getString(R.string.welcome_messages), username, mailCount);
CharSequence styledText = Html.fromHtml(text);
Ini adalah satu-satunya hal yang berfungsi untuk saya pada OnePlus 5T yang dikonfigurasi dengan font OnePlus Slate ™:
textView.setTypeface(Typeface.create(textView.getTypeface(), useBold ? Typeface.BOLD : Typeface.NORMAL));
Metode lain akan membuatnya kembali ke Roboto ketika BOLD atau NORMAL.
Saat menggunakan tag yang disederhanakan dengan AndroidX pertimbangkan untuk menggunakan HtmlCompat.fromHtml ()
String s = "<b>Bolded text</b>, <i>italic text</i>, even <u>underlined</u>!"
TextView tv = (TextView)findViewById(R.id.THE_TEXTVIEW_ID);
tv.setText(HtmlCompat.fromHtml(s, FROM_HTML_MODE_LEGACY));
Cara terbaik adalah mendefinisikannya styles.xml
<style name="common_txt_style_heading" parent="android:style/Widget.TextView">
<item name="android:textSize">@dimen/common_txtsize_heading</item>
<item name="android:textColor">@color/color_black</item>
<item name="android:textStyle">bold|italic</item>
</style>
Dan perbarui TextView
<TextView
android:id="@+id/txt_userprofile"
style="@style/common_txt_style_heading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/margin_small"
android:text="@string/some_heading" />
1) Anda dapat mengaturnya dengan TypeFace. 2) Anda dapat langsung menggunakan dalam strings.xml (dalam folder nilai Anda) 3) Anda dapat String myNewString = "Ini adalah teks tebal saya Ini adalah huruf miring saya Ini adalah string yang saya garisbawahi
Anda dapat mengatur jenis huruf yang berbeda menggunakan contoh yang diberikan di bawah ini -
textView.setTypeface(textView.getTypeface(), Typeface.BOLD);
textView.setTypeface(textView.getTypeface(), Typeface.ITALIC);
textView.setTypeface(textView.getTypeface(), Typeface.BOLD_ITALIC);
Atau jika Anda ingin mengatur font yang berbeda dan jenis hurufnya. Tambahkan ke aset atau folder mentah, lalu gunakan seperti
Typeface face= Typeface.createFromAsset(getAssets(), "font/font.ttf");
tv1.setTypeface(face);
Typeface face1= Typeface.createFromAsset(getAssets(), "font/font1.ttf");
tv2.setTypeface(face1);