Làm thế nào để bạn thay đổi văn bản thành đậm trong Android?


Câu trả lời:


551

Để làm điều này trong layout.xmltập tin:

android:textStyle

Ví dụ:

android:textStyle="bold|italic"

Lập trình phương pháp là:

setTypeface(Typeface tf)

Đặt kiểu chữ và kiểu mà văn bản sẽ được hiển thị. Lưu ý rằng không phải tất cả các Typefacegia đình thực sự có các biến thể in đậm và in nghiêng, vì vậy bạn có thể cần phải sử dụng setTypeface(Typeface, int)để có được diện mạo mà bạn thực sự muốn.


351

Đây là giải pháp

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

77

Đơn giản là bạn có thể làm như sau:

Đặt thuộc tính trong XML

  android:textStyle="bold"

Lập trình phương pháp là:

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

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

Tv.setTypeface(boldTypeface);

Hy vọng điều này sẽ giúp bạn cảm ơn bạn.


Hãy cho tôi biết kết quả
saeed

54

Trong XML

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

Bạn chỉ có thể sử dụng phông chữ cụ thể sans, serifmonospacequa xml, mã Java có thể sử dụng phông chữ tùy chỉnh

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

Lập trình (mã 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

Đối với trường hợp bạn đang sử dụng phông chữ tùy chỉnh, nhưng không có kiểu chữ in đậm cho phông chữ bạn có thể sử dụng:

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


16

Nếu bạn đang vẽ nó thì điều này sẽ làm điều đó:

TextPaint.setFlags(Paint.FAKE_BOLD_TEXT_FLAG);

16

Trong thế giới lý tưởng, bạn sẽ đặt thuộc tính kiểu văn bản trong bố cục định nghĩa XML như thế:

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

Có một cách đơn giản để đạt được kết quả tương tự một cách linh hoạt trong mã của bạn bằng cách sử dụng setTypefacephương thức. Bạn cần phải vượt qua và đối tượng của lớp Kiểu chữ , sẽ mô tả kiểu phông chữ cho TextView đó. Vì vậy, để đạt được kết quả tương tự như với định nghĩa XML ở trên, bạn có thể làm như sau:

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

Dòng đầu tiên sẽ tạo kiểu đối tượng được xác định trước kiểu (trong trường hợp này là typeface.BOLD , nhưng có nhiều định nghĩa trước hơn). Khi chúng ta có một thể hiện của kiểu chữ, chúng ta có thể đặt nó trên TextView. Và đó là nội dung của chúng tôi sẽ được hiển thị theo phong cách chúng tôi đã xác định.

Tôi hy vọng nó sẽ giúp bạn rất nhiều. Để biết thêm thông tin bạn có thể truy cập

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


14

Từ XML, bạn có thể đặt textStyle thành đậm như bên dưới

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

Từ lập trình, bạn có thể đặt TextView thành đậm như bên dưới

textview.setTypeface(Typeface.DEFAULT_BOLD);

10

Xác định một kiểu mới với định dạng bạn muốn trong tệp style.xml trong thư mục giá trị

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

Sau đó áp dụng kiểu này cho TextView bằng cách viết đoạn mã sau với các thuộc tính của TextView

style="@style/TextViewStyle"

9

Cách tốt nhất để đi là:

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

6

Giả sử bạn là người mới bắt đầu trên Android Studio, Đơn giản là bạn có thể hoàn thành nó trong chế độ xem thiết kế XML bằng cách sử dụng

android:textStyle="bold"          //to make text bold
android:textStyle="italic"        //to make text italic
android:textStyle="bold|italic"   //to make text bold & italic


5

Bạn có thể sử dụng điều này cho phông chữ

tạo một typefaceTextView tên lớp và mở rộng TextView

Bản đồ tĩnh riêng 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();
    }
}

dán phông chữ vào thư mục phông chữ được tạo trong thư mục tài sản

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

Đặt các dòng trong bố trí cha mẹ trong xml

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

4

4 cách để in đậm Android TextView - Câu trả lời đầy đủ có tại đây.

  1. Sử dụng thuộc tính android: textStyle

    <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TEXTVIEW 1" android:textStyle="bold" /> Sử dụng in đậm | in nghiêng cho đậm và nghiêng.

  2. sử dụng phương thức setTypeface ()

    textview2.setTypeface(null, Typeface.BOLD);
    textview2.setText("TEXTVIEW 2");
  3. Phương thức HtmlCompat.fromHtml (), Html.fromHtml () không được dùng trong API cấp 24.

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

3

Trong trường hợp của tôi, việc chuyển giá trị qua chuỗi XML đã hoạt động với Thẻ html ..

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


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

sẽ đặt cả kiểu chữ cũng như kiểu thành chữ đậm.


2
Bạn nên bao gồm một lời giải thích ngắn gọn về câu trả lời của bạn để mô tả rõ hơn về trường hợp sử dụng và cách thực hiện.
Dov Benyomin Sohacheski

Điều này không quảng cáo bất cứ điều gì mới cho các câu trả lời hiện có.
nvoigt

@nvoigt, câu trả lời của anh khác với nhiều người khác, ít nhất là dòng thứ hai. Có lẽ nó là tốt hơn so với các giải pháp khác. Tôi nghĩ rằng nó được chụp từ stackoverflow.com/questions/6200533/ .
CoolMind
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.