40

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

4

6 回答 6

51

实际上,您可以做任何您想做的自定义 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>
于 2012-10-15T15:53:46.343 回答
21

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

ActionBar actionBar = getActionBar();
actionBar.setTitle(Html.fromHtml("<small>YOUR TITLE</small>"));
于 2013-04-21T22:52:44.693 回答
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>

它有效,我宁愿这样做而不是自定义操作栏。

于 2014-07-31T02:47:13.543 回答
5

我已经按照这个方法跳过了自定义样式的创建:

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

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);

希望这可以帮助。

于 2017-04-02T01:58:02.413 回答
3

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

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

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

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

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

于 2012-10-15T13:57:47.540 回答
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");
于 2020-04-21T13:52:41.420 回答