คุณเปลี่ยนการตั้งค่าข้อความ / แบบอักษรใน Android ได้TextView
อย่างไร
ตัวอย่างเช่นคุณจะทำให้ข้อความเป็นตัวหนาได้อย่างไร
คุณเปลี่ยนการตั้งค่าข้อความ / แบบอักษรใน Android ได้TextView
อย่างไร
ตัวอย่างเช่นคุณจะทำให้ข้อความเป็นตัวหนาได้อย่างไร
คำตอบ:
เมื่อต้องการทำสิ่งนี้ในlayout.xml
ไฟล์:
android:textStyle
ตัวอย่าง:
android:textStyle="bold|italic"
วิธีการทางโปรแกรมคือ:
setTypeface(Typeface tf)
ตั้งค่าแบบอักษรและสไตล์ที่ข้อความควรจะแสดง โปรดทราบว่าไม่ใช่ว่าทุกTypeface
ครอบครัวจะมีรูปแบบที่เป็นตัวหนาและตัวเอียงดังนั้นคุณอาจต้องใช้setTypeface(Typeface, int)
เพื่อให้ได้ลักษณะที่คุณต้องการจริงๆ
นี่คือทางออก
TextView questionValue = (TextView) findViewById(R.layout.TextView01);
questionValue.setTypeface(null, Typeface.BOLD);
เพียงคุณสามารถทำสิ่งต่อไปนี้:
ตั้งค่าคุณสมบัติเป็น XML
android:textStyle="bold"
วิธีการคือ:
TextView Tv = (TextView) findViewById(R.id.TextView);
Typeface boldTypeface = Typeface.defaultFromStyle(Typeface.BOLD);
Tv.setTypeface(boldTypeface);
หวังว่านี่จะช่วยคุณขอบคุณ
ใน XML
android:textStyle="bold" //only bold
android:textStyle="italic" //only italic
android:textStyle="bold|italic" //bold & italic
คุณสามารถใช้แบบอักษรที่เฉพาะเจาะจงsans
, serif
และmonospace
ผ่าน XML, Java รหัสสามารถใช้แบบอักษรที่กำหนดเอง
android:typeface="monospace" // or sans or serif
โดยทางโปรแกรม (รหัส 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)
ตั้งค่าคุณสมบัติ
android:textStyle="bold"
สำหรับกรณีที่คุณใช้แบบอักษรที่กำหนดเอง แต่ไม่มีแบบอักษรหนาสำหรับแบบอักษรที่คุณสามารถใช้:
myTextView.setText(Html.fromHtml("<b>" + myText + "</b>");
มันง่ายมาก
setTypeface(Typeface.DEFAULT_BOLD);
หากคุณวาดมันแล้วมันจะทำ:
TextPaint.setFlags(Paint.FAKE_BOLD_TEXT_FLAG);
ในโลกอุดมคติคุณจะต้องตั้งค่าแอตทริบิวต์ลักษณะข้อความในคำจำกัดความ XML ของเค้าโครงคุณดังนี้
<TextView
android:id="@+id/TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"/>
มีวิธีง่ายๆในการบรรลุผลลัพธ์เดียวกันในรหัสของคุณแบบไดนามิกโดยใช้setTypeface
วิธีการ คุณจะต้องผ่านและวัตถุของอักษรระดับซึ่งจะอธิบายถึงรูปแบบของตัวอักษรสำหรับ TextView ว่า ดังนั้นเพื่อให้ได้ผลลัพธ์เดียวกันกับนิยาม XML ด้านบนคุณสามารถทำสิ่งต่อไปนี้:
TextView Tv = (TextView) findViewById(R.id.TextView);
Typeface boldTypeface = Typeface.defaultFromStyle(Typeface.BOLD);
Tv.setTypeface(boldTypeface);
บรรทัดแรกจะสร้างรูปแบบวัตถุที่กำหนดไว้ล่วงหน้าสไตล์ (ในกรณีนี้Typeface.BOLDแต่มีอีกมากมายที่กำหนดไว้ล่วงหน้า) เมื่อเรามีอินสแตนซ์ของแบบอักษรเราสามารถตั้งค่าบน TextView และนั่นคือเนื้อหาของเราจะปรากฏในสไตล์ที่เรากำหนด
ฉันหวังว่ามันจะช่วยคุณได้มากสำหรับข้อมูลที่ดีกว่านี้คุณสามารถเยี่ยมชมได้
http://developer.android.com/reference/android/graphics/Typeface.html
จาก XML คุณสามารถตั้งค่าtextStyleให้เป็นตัวหนาด้านล่าง
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Bold text"
android:textStyle="bold"/>
จากทางโปรแกรมคุณสามารถตั้งค่า TextView ให้เป็นตัวหนาด้านล่าง
textview.setTypeface(Typeface.DEFAULT_BOLD);
กำหนดสไตล์ใหม่ด้วยรูปแบบที่คุณต้องการในไฟล์ style.xml ในโฟลเดอร์ค่า
<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>
จากนั้นใช้สไตล์นี้กับ TextView โดยการเขียนโค้ดต่อไปนี้พร้อมคุณสมบัติของ TextView
style="@style/TextViewStyle"
วิธีที่ดีที่สุดที่จะไปคือ:
TextView tv = findViewById(R.id.textView);
tv.setTypeface(Typeface.DEFAULT_BOLD);
สมมติว่าคุณเป็นผู้เริ่มต้นใหม่บน Android Studio คุณสามารถทำได้ในมุมมองออกแบบXMLโดยใช้
android:textStyle="bold" //to make text bold
android:textStyle="italic" //to make text italic
android:textStyle="bold|italic" //to make text bold & italic
ในไฟล์. xmlตั้งค่า
android:textStyle="bold"
จะตั้งค่าประเภทข้อความเป็นตัวหนา
คุณสามารถใช้สิ่งนี้เป็นตัวอักษร
สร้างชื่อคลาส TypefaceTextView และขยาย TextView
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();
}
}
วางแบบอักษรในโฟลเดอร์แบบอักษรที่สร้างในโฟลเดอร์เนื้อหา
<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**
วางบรรทัดในเค้าโครงหลักใน xml
xmlns:app="http://schemas.android.com/apk/res/com.mediasters.wheresmyturf"
xmlns:custom="http://schemas.android.com/apk/res-auto"
4 วิธีในการทำให้ Android TextView เป็นตัวหนา - คำตอบเต็มรูปแบบอยู่ที่นี่
ใช้android:คุณลักษณะtextStyle
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TEXTVIEW 1"
android:textStyle="bold"
/>
ใช้ตัวหนา | ตัวเอียงสำหรับตัวหนาและตัวเอียง
ใช้วิธี setTypeface ()
textview2.setTypeface(null, Typeface.BOLD);
textview2.setText("TEXTVIEW 2");
HtmlCompat.fromHtml () วิธีการ Html.fromHtml () ถูกคัดค้านในระดับ API 24
String html="This is <b>TEXTVIEW 3</b>";
textview3.setText(HtmlCompat.fromHtml(html,Typeface.BOLD));
ในกรณีของฉันค่าการส่งผ่าน string.xml ทำงานกับแท็ก html
<string name="your_string_tag"> <b> your_text </b></string>
editText.setTypeface(Typeface.createFromAsset(getAssets(), ttfFilePath));
etitText.setTypeface(et.getTypeface(), Typeface.BOLD);
จะตั้งทั้งตัวพิมพ์และสไตล์ให้เป็นตัวหนา