जवाबों:
अद्यतन 2020:
Res फ़ोल्डर के अंदर एक फॉन्ट नाम का फोल्डर बनाएं और अपने फॉन्ट को कॉपी करें
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/abc_font" />
प्रोग्राम उपयोग के लिए:
textView.setTypeface(ResourcesCompat.getFont(context, R.font.abc_font))
फ़ाइल> नया> फ़ोल्डर> एसेट्स फ़ोल्डर चुनें
क्लिक करें समाप्त पर
संपत्ति पर राइट क्लिक करें और नामक एक फ़ोल्डर बनाएं फोंट
अपनी फ़ॉन्ट फ़ाइल को संपत्ति में रखें > फ़ॉन्ट में रखें
अपने textView का फ़ॉन्ट बदलने के लिए नीचे दिए गए कोड का उपयोग करें
TextView textView = (TextView) findViewById(R.id.textView);
Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/yourfont.ttf");
textView.setTypeface(typeface);
कस्टम फ़ॉन्ट परिवार को फ़ील्ड पर सेट करने के कई तरीके हैं और मैं नीचे की तरह उपयोग कर रहा हूं।
संसाधनों के रूप में फ़ॉन्ट जोड़ने के लिए, Android स्टूडियो में निम्न चरणों का पालन करें:
1) Res फ़ोल्डर पर राइट-क्लिक करें और नया> Android संसाधन निर्देशिका पर जाएं। नई संसाधन निर्देशिका विंडो प्रकट होती है।
2) संसाधन प्रकार सूची में, फ़ॉन्ट का चयन करें और फिर ठीक पर क्लिक करें।
नोट: संसाधन निर्देशिका का नाम फ़ॉन्ट होना चाहिए।
3) फ़ॉन्ट फ़ोल्डर में अपनी फ़ॉन्ट फ़ाइलें जोड़ें।
अपनी xml फ़ाइल में इच्छित दृश्य में फ़ॉन्ट जोड़ें:
नोट: लेकिन इसके लिए आपको निम्नलिखित चीजों की आवश्यकता है:
3.0 कैनरी से ऊपर का एंड्रॉइड स्टूडियो।
आपकी गतिविधि AppCompatActivity का विस्तार करती है।
अपनी ग्रेड फ़ाइल को इस तरह अपडेट करें:
compileSdkVersion 26
buildToolsVersion "26.0.1"
defaultConfig {
minSdkVersion 19
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildtoolsVersion
26 से ऊपर और न्यूनतम targetSdkVersion
26 आवश्यक
classpath 'com.android.tools.build:gradle:3.0.0-beta4'
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
मुझे लगता है कि .ttf फ़ाइल डाउनलोड करने के बजाय हम Google फ़ॉन्ट का उपयोग कर सकते हैं। इसे लागू करना बहुत आसान है। केवल आपको इन चरणों का पालन करना होगा। चरण 1) अपनी परियोजना का ओपन लेआउट। xml और विशेषताओं में पाठ दृश्य के चुनिंदा फ़ॉन्ट परिवार (संदर्भ स्क्रीन शॉट के लिए संलग्न है)
चरण 2) फ़ॉन्ट परिवार में अधिक फ़ॉन्ट का चयन करें .. विकल्प यदि आपका फ़ॉन्ट नहीं है। फिर आपको एक नई विंडो दिखाई देगी, वहां आप अपना आवश्यक फॉन्ट टाइप कर सकते हैं और उस सूची से वांछित फ़ॉन्ट का चयन कर सकते हैं अर्थात) रेगुलर, बोल्ड, इटैलिक आदि .. जैसा कि नीचे दी गई इमेज में दिखाया गया है।
चरण 3) फिर आप देखेंगे कि एक फॉन्ट फ़ोल्डर आपके चयनित फोंट xml फ़ाइल वाले / Res फ़ोल्डर में स्वतः उत्पन्न होगा।
फिर आप इस फ़ॉन्ट परिवार को सीधे xml में उपयोग कर सकते हैं
android:fontFamily="@font/josefin_sans_bold"
या प्रो व्याकरणिक रूप से आप इसका उपयोग करके प्राप्त कर सकते हैं
Typeface typeface = ResourcesCompat.getFont(this, R.font.app_font);
fontText.setTypeface(typeface);
नमस्कार, हमारे पास एंड्रॉइड पर EditTexts और TextViews पर एक बार फोंट लगाने और इसे पूरे प्रोजेक्ट में लागू करने का एक बेहतर तरीका है।
सबसे पहले आपको फोंट फ़ोल्डर बनाने की आवश्यकता है। यहाँ कदम हैं।
1: (प्रोजेक्ट फ़ोल्डर) पर जाएं फिर ऐप> src> main
2: मुख्य फ़ोल्डर में 'एसेट्स / फोंट' नाम के फोल्डर बनाएं।
3: अपने फोंट को फोंट फ़ोल्डर में डालें। यहाँ मैं 'MavenPro-Regular.ttf'
यहां EditText पर कस्टम फोंट लगाने के लिए चरण दिए गए हैं और इस दृष्टिकोण का उपयोग करके आप हर इनपुट पर फोंट लागू कर सकते हैं।
1: एक वर्ग बनाएँ MyEditText (आपका पसंदीदा नाम ...)
2: जो EditText का विस्तार करता है
3: अपना फ़ॉन्ट लागू करें
यहाँ कोड उदाहरण है;
public class MyEditText extends EditText {
public MyEditText(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}
public MyEditText(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public MyEditText(Context context) {
super(context);
init();
}
private void init() {
if (!isInEditMode()) {
Typeface tf = Typeface.createFromAsset(getContext().getAssets(), "fonts/MavenPro-Regular.ttf");
setTypeface(tf);
}
}
}
और यहाँ यह कोड है कि इसका उपयोग कैसे करें।
MyEditText editText = (MyEditText) findViewById(R.id.editText);
editText.setText("Hello");
या अपनी xml फ़ाइल में
<MyEditText
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:textColor="#fff"
android:textSize="16dp"
android:id="@+id/editText"
/>
मैं Android-O और Android Studio 2.4 के लिए अपना उत्तर जोड़ना चाहता हूं
Res फ़ोल्डर के अंतर्गत फॉन्ट नामक फोल्डर बनाएं । विभिन्न फ़ॉन्ट डाउनलोड करें जिन्हें आप अपने प्रोजेक्ट उदाहरण Google फोंट में जोड़ना चाहते थे
अपने xml उपयोगकर्ता फ़ॉन्ट परिवार के अंदर
उदाहरण :
<TextView
android:fontFamily="@font/indie_flower"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:text="@string/sample_text" />
3. यदि आप चाहते हैं कि यह प्रोग्रामेटिक तरीके से हो तो निम्नलिखित कोड का उपयोग करें
Typeface typeface = getResources().getFont(R.font.indie_flower);
textView.setTypeface(typeface);
अधिक जानकारी के लिए एंड्रॉइड स्टूडियो 2.4 के साथ एंड्रॉइड के लिए मेरे ब्लॉग पोस्ट फ़ॉन्ट शैलियों के लिंक का पालन करें
Android O में उपलब्ध नई सुविधा के अनुसार, XML में फ़ॉन्ट संसाधन नई सुविधा के रूप में उपलब्ध हैं।
संसाधनों के रूप में फ़ॉन्ट जोड़ने के लिए, Android स्टूडियो में निम्न चरणों का पालन करें:
1) Res फ़ोल्डर पर राइट-क्लिक करें और नया> Android संसाधन निर्देशिका पर जाएं । नई संसाधन निर्देशिका विंडो प्रकट होती है।
2) संसाधन प्रकार सूची में, फ़ॉन्ट का चयन करें और फिर ठीक पर क्लिक करें।
नोट: संसाधन निर्देशिका का नाम फ़ॉन्ट होना चाहिए।
3) फ़ॉन्ट फ़ोल्डर में अपनी फ़ॉन्ट फ़ाइलें जोड़ें।
आप नए संसाधन प्रकार, फ़ॉन्ट की सहायता से फ़ॉन्ट संसाधनों तक पहुँच सकते हैं। उदाहरण के लिए, फ़ॉन्ट संसाधन तक पहुँचने के लिए, @ फ़ॉन्ट / myfont, या R.font.myfont का उपयोग करें।
जैसे। Typeface typeface = getResources().getFont(R.font.myfont);
textView.setTypeface(typeface);
आप कस्टम फ़ॉन्ट की विविधता सेट करने के लिए आसान और सरल इज़ीफोन्स थर्ड पार्टी लाइब्रेरी का उपयोग कर सकते हैंTextView
। इस लाइब्रेरी का उपयोग करके आपको एसेट्स / फोंट फ़ोल्डर में फोंट डाउनलोड करने और जोड़ने की चिंता नहीं करनी चाहिए। टाइपफेस ऑब्जेक्ट निर्माण के बारे में भी। आप एसेट फोल्डर बनाने से भी मुक्त रहेंगे।
सीधे शब्दों में:
TextView myTextView = (TextView)findViewById(R.id.myTextView);
myTextView.setTypeface(EasyFonts.robotoThin(this));
इस लाइब्रेरी द्वारा कई प्रकार के फोंट उपलब्ध कराए गए हैं।
1 फ़ॉन्ट फ़ॉन्ट फ़ोल्डर पर font.ttf फ़ाइल जोड़ें। फिर इस लाइन को ऑनक्रिट विधि में जोड़ें
Typeface typeface = ResourcesCompat.getFont(getApplicationContext(), R.font.myfont);
mytextView.setTypeface(typeface);
और यहाँ मेरा xml है
<TextView
android:id="@+id/idtext1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7dp"
android:gravity="center"
android:text="My Text"
android:textColor="#000"
android:textSize="10sp"
/>
टेक्स्ट व्यू को फ़ॉन्ट असाइन करने के लिए:
TextView textView = (TextView) findViewById(R.id.your_textView);
final Typeface font = Typeface.createFromAsset(context.getAssets(), "fonts/your_font_name");
your_font_name में फ़ॉन्ट एक्सटेंशन शामिल है।
यदि आप Android के लिए बहुत नए हैं जैसे मैं हूँ तो यह थोड़ा मुश्किल हो सकता है। सुनिश्चित करें कि आप कॉल करें:
TextView myTextView = (TextView) findViewById(R.id.textView);
Typeface typeface=Typeface.createFromAsset(getAssets(), "fonts/your font.ttf");
myTextView.setTypeface(typeface);
एक विधि के भीतर विधि जैसे onCreate
।
एंड्रॉइड 8.0 (एपीआई 26) ने फोंट से संबंधित नई सुविधाओं को पेश किया।
1) फ़ॉन्ट्स का उपयोग संसाधनों के रूप में किया जा सकता है।
2) डाउनलोड करने योग्य फोंट।
यदि आप अपने एंड्रॉइड एप्लिकेशन में बाहरी फोंट का उपयोग करना चाहते हैं, तो आप या तो फॉन्ट फ़ाइलों को एपीके में शामिल कर सकते हैं या डाउनलोड करने योग्य फोंट को कॉन्फ़िगर कर सकते हैं।
एपीके में फॉन्ट फाइल्स को शामिल करना : आप फॉन्ट फाइल्स डाउनलोड कर सकते हैं, उन्हें रेस / फॉन्ट फाइलर में सेव कर सकते हैं, फॉन्ट फैमिली को डिफाइन कर सकते हैं और फॉन्ट फैमिली को स्टाइल में इस्तेमाल कर सकते हैं।
कस्टम फोंट का उपयोग करने के बारे में अधिक जानकारी के लिए संसाधन देखें http://www.zoftino.com/android-use-custom-fonts
डाउनलोड करने योग्य फ़ॉन्ट कॉन्फ़िगर करना : फ़ॉन्ट प्रदाता विवरण प्रदान करके फ़ॉन्ट को परिभाषित करें, फ़ॉन्ट प्रदाता प्रमाणपत्र जोड़ें और शैलियों में फ़ॉन्ट का उपयोग करें।
डाउनलोड करने योग्य फोंट पर अधिक जानकारी के लिए http://www.zoftino.com/downloading-fonts-android देखें
पहले assets
फोल्डर बनाएं फिर fonts
उसमें फोल्डर बनाएं ।
तब आप bellow font
से assets
या directory
जैसे सेट कर सकते हैं :
public class FontSampler extends Activity {
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
TextView tv = (TextView) findViewById(R.id.custom);
Typeface face = Typeface.createFromAsset(getAssets(), "fonts/HandmadeTypewriter.ttf");
tv.setTypeface(face);
File font = new File(Environment.getExternalStorageDirectory(), "MgOpenCosmeticaBold.ttf");
if (font.exists()) {
tv = (TextView) findViewById(R.id.file);
face = Typeface.createFromFile(font);
tv.setTypeface(face);
} else {
findViewById(R.id.filerow).setVisibility(View.GONE);
}
}
}
ऐप में अपने फोन्स को एसेट फोल्डर में जोड़ें / src / main / आस्तियों को इस तरह एक कस्टम टेक्स्टव्यू बनाएं:
class CustomLightTextView : TextView {
constructor(context: Context) : super(context){
attachFont(context)
}
constructor(context: Context, attrs: AttributeSet): super(context, attrs){
attachFont(context)
}
constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) {
attachFont(context)
}
fun attachFont(context: Context) {
this.setTypeface(FontCache.getInstance().getLightFont(context))
}
}
FontCache जोड़ें: ताकि आपको बार-बार टाइपफेस बनाने की जरूरत न पड़े:
class FontCache private constructor(){
val fontMap = HashMap<String,Typeface>()
companion object {
private var mInstance : FontCache?=null
fun getInstance():FontCache = mInstance?: synchronized(this){
return mInstance?:FontCache().also { mInstance=it }
}
}
fun getLightFont(context: Context):Typeface?{
if(!fontMap.containsKey("light")){
Typeface.createFromAsset(context.getAssets(),"Gotham-Book.otf");
fontMap.put("light",Typeface.createFromAsset(context.getAssets(),"Gotham-Book.otf"))
}
return fontMap.get("light")
}
}
और आप कर रहे हैं!
PSFrom Android O, आप सीधे फोंट जोड़ सकते हैं।
फॉन्ट को एसेट फोल्डर में रखें, फिर फॉन्टफिली को लागू करें: '' अपने फोंट
नए पाठकों के लिए
आप इस पुस्तकालय का उपयोग कर सकते हैं Gloxey Custom Font Views का
धीरे-धीरे निर्भरता
dependencies{
compile 'io.gloxey.cfv:custom-font-views:1.0.2'
}
कैसे इस्तेमाल करे?
फ़ोल्डर की संपत्ति बनाएं -> फोंट । अपने फोंट को फोंट फ़ोल्डर में कॉपी करें ।
प्रॉपर्टी ऐप का उपयोग करें : फॉन्ट को लागू करने के लिए font_name = "font_name_string" ।
उदाहरण
<!--Font Names in srings.xml-->
<string name="aadhunik">aadhunik.ttf</string>
<string name="kung_fool">kungfool.ttf</string>
<string name="skrova">skrova.otf</string>
<string name="painting_in_the_sun_light">painting_in_the_sun_light.ttf</string>
<!--Include views in layout.xml-->
<io.gloxey.cfv.CFTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Aadhunik"
android:textColor="#ff00"
android:textSize="40sp"
app:font_name="@string/aadhunik" />
<io.gloxey.cfv.CFButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Kung Fool"
android:textColor="#154748"
app:font_name="@string/kung_fool" />
<io.gloxey.cfv.CFEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Hello world"
android:textSize="30sp"
app:font_name="@string/skrova" />
<io.gloxey.cfv.CFCheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Painting In The Sun Light"
android:textSize="30sp"
app:font_name="@string/painting_in_the_sun_light" />