在android中更改应用程序标题的字体

ani*_*bey 4 java eclipse android titlebar

我有一个字体,我想在android中更改动作栏标题的字体.有没有办法像这样设置标题字体?

this.setTitle(myTitle.toUpperCase()); 
this.setTypefaceofTitle(tf);
Run Code Online (Sandbox Code Playgroud)

这不是一个复制问题,这个链接上的方法(如何在ActionBar标题中设置自定义字体?)不起作用.当我尝试它们时,eclipse会给出错误:java.lang.noSuchMethodError

Kar*_*yan 15

试试这个,

    int actionBarTitle = Resources.getSystem().getIdentifier("action_bar_title", "id", "android");
TextView actionBarTitleView = (TextView) getWindow().findViewById(actionBarTitle);
Typeface robotoBoldCondensedItalic = Typeface.createFromAsset(getAssets(), "fonts/Roboto-BoldCondensedItalic.ttf");
if(actionBarTitleView != null){
    actionBarTitleView.setTypeface(robotoBoldCondensedItalic);
}
Run Code Online (Sandbox Code Playgroud)

如果它的工具栏意味着尝试如下.

<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:minHeight="?attr/actionBarSize"
android:background="@color/action_color”
app:theme="@style/ToolBarTheme" >


 <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Title"
    android:layout_gravity="center"
    android:id="@+id/title_txt” />


</android.support.v7.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)

然后使用以下注释以编程方式添加任何样式.

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
TextView mTitle = (TextView) toolbar.findViewById(R.id.title);
Run Code Online (Sandbox Code Playgroud)

要么

改变使用风格.需要一个信息点击这里.