जवाबों:
textView.setTypeface(null, Typeface.BOLD_ITALIC);
textView.setTypeface(null, Typeface.BOLD);
textView.setTypeface(null, Typeface.ITALIC);
textView.setTypeface(null, Typeface.NORMAL);
पिछले टाइपफेस को रखने के लिए
textView.setTypeface(textView.getTypeface(), Typeface.BOLD_ITALIC)
textView.setTypeface(textView.getTypeface(), Typeface.NORMAL);
एक से बोल्ड या इटैलिक स्टाइल को नहीं हटाएगा TextView
। आपको इसके लिए उपयोग करने की आवश्यकता होगी textView.setTypeface(null, Typeface.NORMAL);
।
textView.setTypeface(Typeface.create(textView.getTypeface(), Typeface.NORMAL), Typeface.NORMAL);
इसे TextView
बोल्ड या इटैलिक के लिए सेट करने का प्रयास करें
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);
ऐसा नहीं करेगा (एक मौजूदा टाइपफेस शैली को साफ़ करें)?
आप प्रोग्राम का उपयोग करके कर सकते हैं 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
आप XML फ़ाइल में सीधे सेट कर सकते हैं <TextView />
जैसे:
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
वैसे यह दूसरों को भी मदद करेगा।
आपके पास दो विकल्प हैं:
विकल्प 1 (केवल बोल्ड, इटैलिक और अंडरलाइन के लिए काम करता है):
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));
विकल्प 2:
स्पैनबल का उपयोग करें ; यह अधिक जटिल है, लेकिन आप पाठ विशेषताओं को गतिशील रूप से संशोधित कर सकते हैं (न केवल बोल्ड / इटैलिक, रंग भी)।
typeFace
आप पूरे पाठ के लिए एक ही शैली सेट कर सकते हैं।
आप 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
और यदि आप कस्टम टाइपफेस सेट करना चाहते हैं :
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
आप <TextView />
इस तरह सीधे XML फ़ाइल में सेट कर सकते हैं :
android:textStyle="normal"
android:textStyle="normal|bold"
android:textStyle="normal|italic"
android:textStyle="bold"
android:textStyle="bold|italic"
या आप अपने fav फ़ॉन्ट (परिसंपत्तियों से) सेट कर सकते हैं। अधिक जानकारी के लिए लिंक देखें
TextView text = (TextView)findViewById(R.id.THE_TEXTVIEW_ID);
अब textview
गुण सेट करें ..
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
यह होगा
yourTextView.setTypeface(null,Typeface.DEFAULT_BOLD);
और इटैलिक की जगह के साथ होने के लिए सक्षम होना चाहिए Typeface.DEFAULT_BOLD
के साथ Typeface.DEFAULT_ITALC
।
मुझे पता है कि यह कैसे काम करता है।
की textView.setTypeface(Typeface tf, int style);
शैली संपत्ति सेट करने के लिए उपयोग करें TextView
। अधिक जानकारी के लिए डेवलपर दस्तावेज़ देखें ।
इसे इस्तेमाल करे:
textView.setTypeface(textView.getTypeface(), Typeface.BOLD);
textView.setTypeface(textView.getTypeface(), Typeface.ITALIC);
textView.setTypeface(textView.getTypeface(), Typeface.BOLD_ITALIC);
ऐसा करने का मानक तरीका कस्टम शैलियों का उपयोग करना है। भूतपूर्व
में styles.xml
निम्नलिखित जोड़ें।
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="MyApp.TextAppearance.LoginText">
<item name="android:textStyle">bold|italic</item>
</style>
इस स्टाइल को अपने TextView
अनुसार अप्लाई करें।
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/MyApp.TextAppearance.LoginText" />
एक तरीका यह है कि आप कर सकते हैं:
myTextView.setTypeface(null, Typeface.ITALIC);
myTextView.setTypeface(null, Typeface.BOLD_ITALIC);
myTextView.setTypeface(null, Typeface.BOLD);
myTextView.setTypeface(null, Typeface.NORMAL);
एक अन्य विकल्प यदि आप पिछले टाइपफेस रखना चाहते हैं और पहले लागू किए गए को खोना नहीं चाहते हैं:
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);
आप इस तरह की कोशिश कर सकते हैं:
<string name="title"><u><b><i>Your Text</i></b></u></string>
शैली चयन मानदंड के आधार पर आप कर सकते हैं सबसे आसान तरीका:
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));
चूंकि मैं एक कस्टम फ़ॉन्ट का उपयोग करना चाहता हूं, इसलिए मेरे लिए कई उत्तरों के संयोजन काम करते हैं। स्पष्ट रूप से मेरी layout.xml
तरह की सेटिंग्स को android:textStlyle="italic"
एओएस द्वारा अनदेखा किया गया था। तो अंत में मुझे निम्नानुसार करना था: strings.xml
लक्ष्य में स्ट्रिंग के रूप में घोषित किया गया था:
<string name="txt_sign"><i>The information blah blah ...</i></string>
इसके बाद कोड में:
TextView textSign = (TextView) findViewById(R.id.txt_sign);
FontHelper.setSomeCustomFont(textSign);
textSign.setTypeface(textSign.getTypeface(), Typeface.ITALIC);
मैंने Spannable
विकल्प की कोशिश नहीं की (जो मुझे काम करना चाहिए) लेकिन
textSign.setText(Html.fromHtml(getString(R.string.txt_sign)))
कोई प्रभाव नहीं पड़ा। इसके अलावा अगर मैं सभी को अकेले छोड़ने italic tag
से हटाता हूं तो इसका कोई प्रभाव नहीं पड़ता है। मुश्किल Android ...strings.xml
setTypeface()
और जैसा कि यहाँ समझाया गया है Android Developers String Resources यदि आपको अपने स्टाइल टेक्स्ट संसाधन में मापदंडों का उपयोग करने की आवश्यकता है, तो आपको शुरुआती कोष्ठकों से बचना होगा
<resources>
<string name="welcome_messages">Hello, %1$s! You have <b>%2$d new messages</b>.</string>
</resources>
और कॉल प्रारूपHtml (स्ट्रिंग)
Resources res = getResources();
String text = String.format(res.getString(R.string.welcome_messages), username, mailCount);
CharSequence styledText = Html.fromHtml(text);
AndroidX के साथ सरलीकृत टैग का उपयोग करते समय 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));
सबसे अच्छा तरीका है इसे परिभाषित करना 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>
और इसमें अपडेट करें 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) आप इसे टाइपफेस के साथ सेट कर सकते हैं। 2) आप सीधे स्ट्रिंग्स में उपयोग कर सकते हैं। xml (आपके मान फ़ोल्डर में) 3) आप स्ट्रिंग कर सकते हैं myNewString = "यह मेरा बोल्ड टेक्स्ट है यह मेरा इटैलिक स्ट्रिंग है यह मेरा रेखांकित स्ट्रिंग है
आप नीचे दिए गए उदाहरण का उपयोग करके विभिन्न टाइपफेस सेट कर सकते हैं -
textView.setTypeface(textView.getTypeface(), Typeface.BOLD);
textView.setTypeface(textView.getTypeface(), Typeface.ITALIC);
textView.setTypeface(textView.getTypeface(), Typeface.BOLD_ITALIC);
या यदि आप एक अलग फ़ॉन्ट और इसके टाइपफेस सेट करना चाहते हैं। इसे संपत्ति या कच्चे फ़ोल्डर में जोड़ें और फिर इसका उपयोग करें
Typeface face= Typeface.createFromAsset(getAssets(), "font/font.ttf");
tv1.setTypeface(face);
Typeface face1= Typeface.createFromAsset(getAssets(), "font/font1.ttf");
tv2.setTypeface(face1);