我需要更改应用程序工具栏的默认字体,我只是切换到材料设计,它看起来很新,
我正在为孩子们建立一个教育应用程序,所以我需要从专业的内置工具栏字体更改。
答案 0 :(得分:5)
有几种方法可以做到这一点:
创建一个自定义TypeFace类,并使用SpannableString像这样设置ActionBar标题。
SpannableString s = new SpannableString("My Title");
s.setSpan(new TypefaceSpan(this, "MyTypeface.otf"), 0, s.length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
// Update the action bar title with the TypefaceSpan instance
ActionBar actionBar = getActionBar();
actionBar.setTitle(s);
请参阅此link以获取解决方案
或
在TextView
中添加Toolbar
并设置其属性
<android.support.v7.widget.Toolbar
android:id="@+id/anim_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="sans-serif-light"
android:text="My custom Text"
android:textColor="#fff"/>
</android.support.v7.widget.Toolbar>
答案 1 :(得分:0)
试试这个:
SpannableString title = new SpannableString(param);
title.setSpan(new TypefaceSpan(context,"Roboto-Regular.ttf"),0,title.length(),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
//If doing in fragment then
((AppCompatActivity)getActivity()).getSupportActionBar().setTitle(title)
//otherwise in activity
getSupportActionBar().setTitle(title)
确保您已将工具栏设置为操作栏,以执行此操作:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
如果你没有将工具栏设置为操作栏,那么一旦你准备了Spannable String而不是getSupportActionBar()。setTitle(title)使用工具栏对象来设置标题
toolbar.setTitle(title)