答案 0 :(得分:2)
您可以制作自定义工具栏。下面是代码快照
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay">
<TextView
android:id="@+id/toolbar_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_name"
android:textColor="@color/white"
android:textSize="17sp"
android:textStyle="bold" />
</android.support.v7.widget.Toolbar>
然后您可以访问java类(Activity或Fragment)中的toolbar_title并设置自定义字体样式。
答案 1 :(得分:1)
正如其他一些用户所建议的,您可以使用工具栏,但如果您不想或必须继续使用操作栏,那么您可以像这样定义操作栏的样式:
<style name="baseStyle" parent="@style/Theme.MaterialComponents.Light.Bridge">
<item name="actionBarStyle">@style/myActionBarStyle</item>
...
</style>
并在 myActionBarStyle
内定义字体:
<style name="myActionBarStyle" parent="@style/Widget.AppCompat.Light.ActionBar.Solid">
<item name="fontFamily">@font/customFont</item>
...
</style>
这只会影响操作栏中的字体,而不会影响整个应用程序
答案 2 :(得分:0)
您可以像这样访问工具栏的文本视图:
TextView mTitle = (TextView) toolbar.findViewById(R.id.toolbar_title);
然后分配所需的字体:
mTitle.setTypeface(someTypeface);
答案 3 :(得分:0)
在java代码中
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#2B1C27")));
LayoutInflater inflater = LayoutInflater.from(this);
View v = inflater.inflate(R.layout.titleview_2, null);
TextView actionbar_title = (TextView)v.findViewById(R.id.actionbar_title);
actionbar_title.setTypeface(you can set your font here also.);
actionBar.setCustomView(v);
XML文件中的
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:id="@+id/actionBar"
android:paddingTop="7dp"
android:orientation="horizontal"
android:background="#9B66AB">
<TextView
android:id="@+id/actionbar_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:gravity="center_horizontal|center_vertical"
android:padding="8dp"
android:text="@string/appTitle"
android:textSize="20sp"
android:textColor="#FFFFFF"
android:layout_centerVertical="true"
/>
</RelativeLayout>
它会起作用。
<强> EDITED 强>
getSupportActionBar().setTitle((Html.fromHtml("<font face=\"Times New Roman\">" + getString(R.string.title) + "</font>")));
答案 4 :(得分:0)
首先转到styles.xml,然后添加
字体名称
在您的主题标签中...
答案 5 :(得分:-2)
您可以尝试以下方法: -
ActionBar actionBar = getSupportActionBar();
actionBar.setTitle(&#34; New Title&#34;);
答案 6 :(得分:-2)
“Android O引入了一项新功能,字体为XML”。您现在可以创建自定义工具栏并使用
android:fontFamily="@font/lobster"
XML标记。您需要将您的字体添加到recources / font文件夹。有关详细信息,请参阅https://developer.android.com/preview/features/working-with-fonts.html