2016-08-12 7 views
13

मैं एक कस्टम View कक्षा बना रहा हूं जो StaticLayout का उपयोग करके .ttf संपत्ति फ़ाइल से लोड किए गए कस्टम टाइपफ़ेस के साथ टेक्स्ट प्रदर्शित करता है। टाइपफेस का मूल रूप एक सेरिफ़ फ़ॉन्ट है और फ़ॉन्ट फ़ाइल में ट्रू टाइप गुण यह इंगित करते हैं कि यह सेरिफ़ है। फिर भी, फ़ॉन्ट के लिए वर्णों के लिए, एंड्रॉइड एक सैन्स-सेरिफ़ टाइपफेस पर वापस आ जाता है (यह एंड्रॉइड संस्करण के आधार पर रोबोटो या नोटो जैसा दिखता है)।क्या StaticLayout में Typeface.SERIF पर वापस आने का कोई तरीका है?

क्या इस पर नियंत्रण करने का कोई तरीका है ताकि एंड्रॉइड लेआउट इंजन एक सेरिफ़ टाइपफेस पर वापस आ जाए? (जैसा हो सकता है कुछ जादू स्ट्रिंग Paint#setFontFeatureSettings() करने के लिए एक Paint में उपयोग के लिए टाइपफेस के ढेर निर्दिष्ट करने के लिए एक तरह से पारित करने के लिए, या शायद?)

कोई समाधान जब अनुप्रयोग, वितरित किया जाता है तो Android के सिस्टम के साथ खेल खेल काम करने के लिए होगा विन्यास फाइल एक विकल्प नहीं है। इसके अलावा, मुझे this question (जिसे अभी भी चार साल बाद अनुत्तरित किया गया है) से अवगत है, लेकिन मेरी समस्या थोड़ा अलग है, हालांकि दोनों मुद्दों का समाधान बहुत अच्छा हो सकता है।

उत्तर

0

लॉलीपॉप के रूप में, FontFamily नामक एक छिपी हुई कक्षा है और Typeface.createFromFamilies नामक छिपी हुई विधि है। यदि आप बहुत सावधान हैं, तो आप शायद इस सामान का प्रतिबिंब या अन्य चालबाजी के माध्यम से उपयोग कर सकते हैं, लेकिन सार्वजनिक एपीआई में फॉलबैक के लिए तैयार रहें।

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