13

का उपयोग करते समय एक्शनबार शीर्षक फ़ॉन्ट को कैसे बदलें I ActionBar पर प्रदर्शित होने वाले मेरे ऐप के शीर्षक पर कस्टम फ़ॉन्ट लागू करना चाहते हैं। पहले मैंने किसी भी समर्थन पुस्तकालय का उपयोग नहीं किया था और यह समाधान:AppCompat

int titleId = getResources().getIdentifier("action_bar_title", "id", 
       "android"); 
TextView yourTextView = (TextView) findViewById(titleId); 
yourTextView.setTypeface(face); 

मेरे लिए ठीक काम किया। लेकिन अब मैं भौतिक डिजाइन SupportActionBar का उपयोग कर रहा हूं और यह NullPointerException फेंकता है। तो AppCompat का उपयोग करते समय एक्शनबार फ़ॉन्ट कैसे बदलें?

+1

यह responce मुझे लगता है कि आप मदद कर सकते हैं http://stackoverflow.com/a/15181195/2778639 –

+0

@ user27799 धन्यवाद, इस पोस्ट ने मेरी समस्या तय की है। अगर किसी के पास मेरी कोई समस्या है, तो बस लिंक किए गए पोस्ट से विधि का उपयोग करें, जो समर्थन लाइब्रेरी v-21 के साथ ठीक काम करता है। – fragon

+0

यहाँ समाधान, [Actionbar कस्टम डिजाइन।] [1] [1]: http://stackoverflow.com/questions/17966350/changing-the-font-of-the-application-title- इन-एंड्रॉइड/21480484 # 21480484 – Karthikeyan

उत्तर

-2

, कस्टम लेआउट तैयार पाठ दृश्य डाल action_bar_layout में और उसके बाद actionbar.setcustomlayout()

5

फोन मान लिया जाये कि आप पहले से ही सफलतापूर्वक AppCompat v22 + के नए उपकरण पट्टी का उपयोग कर रहे हैं और आप android.support आयात कर रहे हैं कि। आपकी गतिविधि में v7.widget.Toolbar।

तो पर अपने OnCreate आप पहले से ही

toolbar = (Toolbar) findViewById(R.id.toolbar); 
setSupportActionBar(toolbar); 
इस बिंदु आप लगभग कर लिया है पर

होना चाहिए:

आयात java.lang.reflect.field;

और जोड़ने के निम्नलिखित लाइनों:

TextView yourTextView = null; 
try { 
    Field f = toolbar.getClass().getDeclaredField("mTitleTextView"); 
    f.setAccessible(true); 
    yourTextView = (TextView) f.get(toolbar); 
    yourTextView.setTypeface(face); 
} catch (NoSuchFieldException e) { 
} catch (IllegalAccessException e) { 
} 
+1

मेरे लिए काम किया। धन्यवाद – QuantumTiger

1

ActionBar.follow के बजाय टूलबार उपकरण पट्टी को जोड़ने के लिए नीचे दिए गए चरणों का उपयोग करें: फ़ाइल मेनू, गोटो पुस्तकालय से Theme.AppCompat.Light.NoActionBar 2.Goto परियोजना संरचना करने के लिए 1.change अपने अनुप्रयोग विषय निर्भरता, डिजाइन पुस्तकालय जोड़ें और अपनी परियोजना को सिंक करें। अपने लेआउट 3.Goto जहां ActionBar प्रदर्शित करने और कोड नीचे लिखना चाहते हैं:

<android.support.v7.widget.Toolbar 
    android:id="@+id/mytoolbar" 
    android:layout_width="match_parent" 
    android:layout_height="56dp" 
    android:background="@color/pccolor" 
    android:title="Services" 
    app:titleTextAppearance="@style/Toolbar.TitleText" 
    android:elevation="4dp"> 
    <TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Toolbar Title" 
    android:layout_gravity="center" 
    android:id="@+id/toolbar_title" /> 
</android.support.v7.widget.Toolbar> 

गतिविधि 4.In, जैसा कि नीचे लिखें:

:

Toolbar mytoolbar=(Toolbar)findViewById(R.id.mytoolbar); 
    setSupportActionBar(mytoolbar); 

अपने शीर्षक फ़ॉन्ट अनुकूलित करने के लिए

fontPath = "Fonts/Roboto-Light.ttf"; 
    Typeface tf = Typeface.createFromAsset(getActivity().getAssets(), fontPath); 

TextView tv_ins=(TextView)FindViewById(R.id.toolbar_title); 
tv_ins.setText("mytitle"); 
tv_ins.setTypeface(tf); 

इसे आज़माएं उम्मीद है कि यह आपकी मदद करता है, अगर कुछ गलत है तो कृपया मुझे बताएं।

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