एंड्रॉइड में टेक्स्ट को बोल्ड में कैसे बदलें?


433

आप एंड्रॉइड में टेक्स्ट / फॉन्ट सेटिंग्स कैसे बदलते हैं TextView?

उदाहरण के लिए, आप टेक्स्ट को बोल्ड कैसे बनाते हैं ?


कृपया मेरा उत्तर यहां देखें । आशा है कि यह आपकी सहायता करेगा
जैन

जवाबों:


552

layout.xmlफ़ाइल में ऐसा करने के लिए :

android:textStyle

उदाहरण:

android:textStyle="bold|italic"

प्रोग्राम विधि है:

setTypeface(Typeface tf)

टाइपफेस और शैली सेट करता है जिसमें पाठ प्रदर्शित किया जाना चाहिए। ध्यान दें कि सभी Typefaceपरिवारों में वास्तव में बोल्ड और इटैलिक वेरिएंट नहीं हैं, इसलिए आपको setTypeface(Typeface, int)वह उपस्थिति प्राप्त करने के लिए उपयोग करने की आवश्यकता हो सकती है जो आप वास्तव में चाहते हैं।



77

बस आप निम्न कार्य कर सकते हैं:

में विशेषता सेट करें XML

  android:textStyle="bold"

प्रोग्राम विधि है:

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

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

Tv.setTypeface(boldTypeface);

आशा है कि यह आपको धन्यवाद देने में मदद करेगा।


मुझे परिणाम जानते हैं
saeed

54

XML में

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

आप केवल विशिष्ट फोंट का उपयोग कर सकते हैं sans, serifऔर monospacexml के माध्यम से, जावा कोड कस्टम फोंट का उपयोग कर सकते हैं

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

प्रोग्रामेटिक रूप से (जावा कोड)

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

उस स्थिति के लिए जहां आप कस्टम फ़ॉन्ट का उपयोग कर रहे हैं, लेकिन आपके द्वारा उपयोग किए जाने वाले फ़ॉन्ट के लिए बोल्ड टाइपफेस नहीं है:

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


16

यदि आप इसे खींच रहे हैं तो यह ऐसा करेगा:

TextPaint.setFlags(Paint.FAKE_BOLD_TEXT_FLAG);

16

आदर्श दुनिया में आप टेक्स्ट स्टाइल विशेषता को लेआउट में सेट करेंगे जैसे XML परिभाषा:

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

setTypefaceविधि का उपयोग करके अपने कोड में गतिशील रूप से समान परिणाम प्राप्त करने का एक सरल तरीका है । आपको टाइपफेस क्लास के पास और ऑब्जेक्ट की आवश्यकता है , जो उस टेक्स्ट व्यू के लिए फ़ॉन्ट शैली का वर्णन करेगा। तो ऊपर एक्सएमएल परिभाषा के साथ ही परिणाम प्राप्त करने के लिए आप निम्न कार्य कर सकते हैं:

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

पहली पंक्ति ऑब्जेक्ट फॉर्म पूर्वनिर्धारित शैली बनाएगी (इस मामले में Typeface.BOLD , लेकिन कई और पूर्वनिर्धारित हैं)। एक बार जब हमारे पास टाइपफेस का एक उदाहरण होता है तो हम इसे टेक्स्ट व्यू पर सेट कर सकते हैं। और वह यह है कि हमारी सामग्री को हमारे द्वारा परिभाषित शैली पर प्रदर्शित किया जाएगा।

मुझे आशा है कि यह आपको बहुत मदद करता है। बेहतर जानकारी के लिए आप जा सकते हैं

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


14

XML से आप नीचे दिए गए टेक्स्ट टेक्स्ट को बोल्ड पर सेट कर सकते हैं

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

प्रोग्रामेटिक रूप से, आप टेक्स्ट व्यू को नीचे की तरह बोल्ड पर सेट कर सकते हैं

textview.setTypeface(Typeface.DEFAULT_BOLD);

10

मान फ़ोल्डर में 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"

9

सबसे अच्छा तरीका है:

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

6

मान लें कि आप 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


5

आप इसे फ़ॉन्ट के लिए उपयोग कर सकते हैं

एक Class Name 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 को बोल्ड बनाने के 4 तरीके - पूर्ण उत्तर यहाँ है।

  1. Android का उपयोग करना : टेक्स्ट स्टाइल विशेषता

    <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TEXTVIEW 1" android:textStyle="bold" /> बोल्ड का प्रयोग करें। बोल्ड और इटैलिक के लिए इटैलिक।

  2. setTypeface () विधि का उपयोग करना

    textview2.setTypeface(null, Typeface.BOLD);
    textview2.setText("TEXTVIEW 2");
  3. HtmlCompat.fromHtml () विधि, Html.fromHtml () एपीआई स्तर 24 में पदावनत किया गया था।

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

3

मेरे मामले में, string.xml के माध्यम से पासिंग वैल्यू html टैग के साथ काम करती है।

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


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

दोनों टाइपफेस के साथ-साथ स्टाइल को भी बोल्ड पर सेट करेगा।


2
आपको इसके उपयोग के मामले और कार्यान्वयन का बेहतर वर्णन करने के लिए अपने उत्तर का एक संक्षिप्त विवरण शामिल करना चाहिए।
डोव बेनिओन सोहाचेस्की

यह मौजूदा उत्तरों के लिए कुछ भी नया नहीं है।
nvoigt

@nvoigt, उनका जवाब कई अन्य लोगों से अलग है, कम से कम दूसरी पंक्ति में। संभवतः यह अन्य समाधानों से बेहतर है। मुझे लगता है कि इसे stackoverflow.com/questions/6200533/… से कैप्चर किया गया है ।
कूलमाइंड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.