如何更改操作栏上标题文本的大小?

每个Android 4.0应用程序都有一个ActionBar ,它有一个标题。 我需要减less这个尺寸。 但我不明白我该怎么做,因为ActionBar不提供公共方法。 备注:我不想使用自定义视图。

其实,你可以做你想要自定义的ActionBar。 必须通过主题完成。 你可以做这样的事情:

 <style name="Theme.YourTheme" parent="android:style/Theme"> <item name="android:actionBarStyle">@style/Theme.YourTheme.Styled.ActionBar</item> </style> <style name="Theme.YourTheme.Styled.ActionBar"> <item name="android:titleTextStyle">@style/Theme.Viadeo.Styled.YourTheme.TitleTextStyle</item> </style> <style name="Theme.YourTheme.Styled.ActionBar.TitleTextStyle" parent="@android:style/Widget.TextView"> <item name="android:textSize">12sp</item> </style> 

你总是可以做这样的事情:

 ActionBar actionBar = getActionBar(); actionBar.setTitle(Html.fromHtml("<small>YOUR TITLE</small>")); 

在我的系统上,res / styles AppTheme有一个注释说

 <!-- All customizations that are NOT specific to a particular API-level can go here. --> 

这是AndroidMainfest.xml中指定的样式。 我补充说

 <item name="android:textSize">15sp</item> 

它的工作,我宁愿这样做比自定义的操作栏。

Android ActionBar中的文本大小是标准的

自ICS以来,Android现在开发了一个标准,以便应用程序(希望)遵循相同的UI准则和devise原则。

http://developer.android.com/guide/practices/ui_guidelines/index.html

这就是为什么你不能改变它。

但是 ,如果你仍然想这样做,你可以使用一个自定义的主题,或者实现ActionBar(一个叉),并修改它的源代码: https : //github.com/johannilsson/android-actionbar获得最大的控制。

我遵循这个方法来跳过创build自定义样式:

  1. 创build一个具有所需文字大小和自定义布局
  2. 将其应用于您的操作栏。

1)创build一个布局文件(titlebar.xml):

  <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/action_bar_title" android:text="@string/app_name" android:textColor="@color/colorPrimary" android:textSize="24sp" /> </LinearLayout> 

这里设置你所需要的textSize。

2)MainActivity.java

  getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); //bellow setSupportActionBar(toolbar); getSupportActionBar().setCustomView(R.layout.titlebar); 

希望这可以帮助。