2015-04-15 43 views
3

我有我自己的工具欄,我想爲我的標題自定義字體,但我沒有得到它的工作。在android的工具欄上的自定義字體

  Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
      SpannableString title = new SpannableString(getResources().getString(R.string.app_name)); 
      title.setSpan(Typeface.createFromAsset(getAssets(), "KeepCalm-Medium.ttf"), 0, title.length(), 
        Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
      toolbar.setTitle(title); 
      setSupportActionBar(toolbar); 

我覺得我做對了,但它什麼都沒做。

回答

12

你可以在Toolbar以內使用TextViewToolbar只是一個ViewGroup

<android.support.v7.widget.Toolbar 
    android:id="@+id/toolbar" 
    android:layout_height="wrap_content" 
    android:layout_width="match_parent"> 

    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:text="Toolbar Title" 
     android:layout_gravity="center" 
     android:id="@+id/toolbar_title" /> 

</android.support.v7.widget.Toolbar> 

然後把它編程:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
TextView toolbarTitle = (TextView) toolbar.findViewById(R.id.toolbar_title); 
Typeface myTypeface = Typeface.createFromAsset(getAssets(), "KeepCalm-Medium.ttf"); 
toolbarTitle.setTypeface(myTypeface);