2017-06-12 49 views
5

https://developer.android.com/preview/features/working-with-fonts.htmlएपीआई में XML में फॉन्ट का प्रयोग <26

एंड्रॉयड एपीआई 26 इस का समर्थन करता है, लेकिन हम एक समर्थन पुस्तकालय है कि रेस में एक संसाधन के रूप फोंट का उपयोग प्रदान कर सकते हैं क्या है? [एक्सएमएल में फ़ॉन्ट] यदि हां, तो किस एपीआई को यह समर्थित है?

मैं एंड्रॉइड ओ एसडीके सुविधा के बारे में बात कर रहा हूं जो हमें उपरोक्त लिंक में दिए गए एक्सएमएल में फ़ॉन्ट सेट करने की अनुमति देता है। एमएम में यह मूल विशेषता नहीं है मुझे यकीन है।

+0

मैं इस सुविधा का उपयोग अपने ऐप्स में से एक में कर रहा हूं, जो एपीआई 9 को एपीआई 9 का समर्थन करता है। जहां तक ​​मुझे पता है वहां कोई सीमा नहीं है। मैंने एपीआई 8 का समर्थन करना बंद कर दिया, लेकिन मुझे लगता है कि यह इसके साथ भी काम करेगा। –

+0

आपने कौन सी लाइब्रेरी को ग्रेड किया है? – sziraqui

+0

कोई नहीं। यह एक मूल विशेषता है। वैसे, ग्रहण को "ग्रैडल चीज़" की आवश्यकता नहीं है;) –

उत्तर

13

मिनट :

  • आप समर्थन पुस्तकालय का उपयोग कर रहे संस्करण 26.0.0-beta1 या बाद में
  • Fonts in XML - Using the support library

    Support Library revision history

    मैं मैं इस 8 से पहले Android संस्करण पर एप्लिकेशन विजेट में इस्तेमाल कर सकते हैं उम्मीद कर रही थी (एपीआई 26):

  • आप AppCompat

सूत्रों का कहना है प्रयोग कर रहे हैं हालांकि, यह संभव नहीं है, क्योंकि AppCompatTextView ऐप विजेट में उपयोग नहीं किया जा सकता है। एंड्रॉइड ओ के 'एक्सएमएल में फ़ॉन्ट्स' जैसे तृतीय पक्ष विकल्पों में से कोई भी नहीं, जैसे Caligraphy लाइब्रेरी ऐप विजेट में काम करता है।

एप्लिकेशन विजेट्स के लिए एकमात्र विकल्प एक imageView उपयोग कर रहा है बजाय एक TextView की और RemoteViews का उपयोग कर इस तरह के setImageViewUri रूप तरीकों (...) और setImageViewBitmap (...), दोनों जो समस्याग्रस्त हैं।

+0

धन्यवाद। अन्य लोग क्यों कह रहे थे कि यह एक मूल विशेषता है? मैं एसडीके एंड्रॉइड स्टूडियो 2.3.2 का उपयोग कर रहा हूँ। मैंने @ font/arial.ttf का उपयोग करने की कोशिश की। यह काम नहीं किया। मैं समर्थन पुस्तकालय संस्करण 25.3.1 का उपयोग कर रहा था। अब मुझे पता है कि क्या गलत था। – sziraqui

+0

यह काम किया था? कुछ लोग कह रहे हैं कि काम करने के लिए आपको एंड्रॉइड स्टूडियो 3 में अपग्रेड करना होगा। – user1506104

+0

सूचक के लिए धन्यवाद। मैंने अपना में बदल दिया है और यह अब काम करता है। – tmm1

2

यहाँ पर उसे Google एंड्रॉयड पर समर्थित है 4.0+ (एपीआई 14+) जब तक इन शर्तों को पूरा कर रहे हैं के रूप में अनुसार एक उदाहरण है, एसडीके समर्थन 18 (अनुप्रयोग में)

https://github.com/mukundrd/androidFonts

0

API के लिए ध्यान में रखते हुए 26 से कम उपयोग करने के लिए app:fontFamily="@font/custom_font_from_resource" बजाय android:font

समर्थन lib साथ काम की जरूरत 26+

1

कुछ उपयोगकर्ताओं को इस पृष्ठ पर ऊपर भूमि निर्देश से अपने ऐप्लिकेशन में कस्टम फ़ॉन्ट का उपयोग करने के लिए खोज करेंगे एक्सएमएल। यहां बताया गया है कि मैंने यह कैसे किया:

फ़ॉन्ट संसाधन निर्देशिका डिफ़ॉल्ट रूप से मौजूद नहीं है। आप documentation here [बहुत ज्यादा काम]

का पालन करके मैन्युअल इसे बनाने या GUI-

  • से फ़ॉन्ट का भी उपयोग कर डिजाइन टैब में एक TextView का चयन कर सकते हैं।

  • fontFamily xml विशेषता का खुला ड्रॉप डाउन।

  • "अधिक फ़ॉन्ट्स" पर नीचे स्क्रॉल करें।

  • पॉप अप प्रकट होने से एक 'डाउनलोड फ़ॉन्ट "चुनें।

एंड्रॉयड स्टूडियो स्वचालित रूप से ऊपर दस्तावेज में उल्लेख आवश्यक घोषणाओं के साथ फ़ॉन्ट संसाधन निर्देशिका का निर्माण करेगा। इस कदम के बाद आप अपने कस्टम फ़ॉन्ट कॉपी कर सकते हैं फ़ॉन्ट निर्देशिका में फाइल (कहना myfont.ttf) और उदाहरण के लिए एक्सएमएल से अपने इच्छित फ़ॉन्ट सेट:

<TextView 
    android:fontFamily="@font/myfont" 
    android:id="@+id/aboutus_head_textview" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/who_are_we" /> 

आप अपने अनुप्रयोग भर एक ही फॉन्ट का उपयोग करना चाहते हैं, तो आप FontFamily अपने AppTheme styles.xml में सेट कर सकते हैं:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
     <!-- Customize your theme here. --> 
     <item name="colorPrimary">@color/colorPrimary</item> 
     <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
     <item name="colorAccent">@color/colorAccent</item> 
     <!-- custom font for the entire app --> 
     <item name="fontFamily">@font/myfont</item> 
    </style> 

[उपसर्ग FontFamily android: साथ ऊपर अगर काम नहीं किया]

स्क्रीनशॉट:

Screenshot 1

Screenshot 2

नोट: यह जवाब मान लिया गया है कि आप Android स्टूडियो 3 का उपयोग कर रहे + और समर्थन लाइब्रेरी संस्करण 26+

संबंधित मुद्दे