如何在Action Bar上更改标题文本的大小?

时间:2012-10-15 13:51:55

标签: java android android-actionbar text-size

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

6 个答案:

答案 0 :(得分:48)

实际上,您可以执行自定义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>

答案 1 :(得分:21)

您可以随时执行以下操作:

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

答案 2 :(得分:7)

在我的系统上,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>

并且它起作用了,而不是自定义操作栏。

答案 3 :(得分:5)

我已按照此方法跳过自定义样式的创建:

  1. 创建具有所需文字大小和
  2. 的自定义布局
  3. 将其应用于您的操作栏。
  4. 1)创建一个布局文件(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);
    

    希望这会有所帮助。

答案 4 :(得分:3)

Android ActionBar中文字的大小为标准

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

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

这就是你无法改变的原因。

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

答案 5 :(得分:0)

您可以使用

subtitle:"exsample"

XML

 <androidx.appcompat.widget.Toolbar
    android:id="@+id/toolbar2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="?attr/colorPrimary"
    android:minHeight="?attr/actionBarSize"
    android:theme="?attr/actionBarTheme"
    app:subtitle="subTitle"
    app:title = "Title"
    android:tag="dff"/>

JAVA

getSupportActionBar.setSubtitle("Sub Title");