चूँकि मेरी आवश्यकता मौजूदा textView को ओवरराइड करने से है findViewById(getResources().getIdentifier("xxx", "id", "android"));
, इसलिए मैं बस onDraw()
अन्य उत्तर की कोशिश नहीं कर सकता ।
लेकिन मैं अपनी समस्या को ठीक करने के लिए सही चरणों का पता लगाता हूं, यहां लेआउट इंस्पेक्टर का अंतिम परिणाम है:
चूंकि मैं जो चाहता था, वह केवल शीर्ष स्थान को हटा रहा हूं, इसलिए मुझे नीचे के रिक्त स्थान को निकालने के लिए अन्य फ़ॉन्ट का चयन करने की आवश्यकता नहीं है।
इसे निर्धारित करने के लिए यहां महत्वपूर्ण कोड है:
Typeface mfont = Typeface.createFromAsset(getResources().getAssets(), "fonts/myCustomFont.otf");
myTextView.setTypeface(mfont);
myTextView.setPadding(0, 0, 0, 0);
myTextView.setIncludeFontPadding(false);
पहली कुंजी सेट है कस्टम फ़ॉन्ट "फोंट / myCustomFont.otf" जिसमें नीचे की तरफ जगह है लेकिन शीर्ष पर नहीं है, आप आसानी से इसे खोलकर ओटीएफ फ़ाइल का पता लगा सकते हैं और एंड्रॉइड स्टूडियो में किसी भी फ़ॉन्ट पर क्लिक कर सकते हैं:
जैसा कि आप देख सकते हैं, नीचे के कर्सर में अतिरिक्त रिक्ति है लेकिन शीर्ष पर नहीं है, इसलिए इसने मेरी समस्या को ठीक कर दिया है।
दूसरी कुंजी यह है कि आप बस किसी भी कोड को छोड़ नहीं सकते हैं , अन्यथा यह काम नहीं कर सकता है। यही कारण है कि आप कुछ लोगों को टिप्पणी करते हुए पा सकते हैं कि एक उत्तर काम कर रहा है और कुछ अन्य लोग टिप्पणी करते हैं कि यह काम नहीं कर रहा है।
अगर मैंने उनमें से एक को हटा दिया तो क्या होगा, इसका उदाहरण दिया गया है।
इसके बिना setTypeface(mfont);
:
इसके बिना setPadding(0, 0, 0, 0);
:
इसके बिना setIncludeFontPadding(false);
:
उनमें से 3 के बिना (यानी मूल):