web-dev-qa-db-ja.com

アクションバーの字幕フォントをカスタマイズするにはどうすればよいですか?

ActionBarを作成しました(Android.support.v7.widget.Toolbar) 以下のように。

<Android.support.v7.widget.Toolbar
    xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:id="@+id/myToolbar"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:minHeight="?attr/actionBarSize">
</Android.support.v7.widget.Toolbar>

私のActionBarには、タイトルの他に、字幕もあります。ただし、字幕をカスタマイズしたいと思います。カスタマイズとは、フォントサイズ、色、書体を意味します。

さまざまなテーマやスタイルを試しましたが、まだ失敗しました。

それがどのように行われるかについての簡単で完全な例があれば、それは本当に役に立ちます。ありがとう!

15
Elye

レイアウトファイルにこの名前空間属性がまだない場合は、次のように追加します。

xmlns:app = "http://schemas.Android.com/apk/res-auto"

次のように、レイアウトファイルのツールバー属性を更新します。

<Android.support.v7.widget.Toolbar
    xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:id="@+id/myToolbar"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    app:titleTextAppearance="@style/ToolbarTitleAppearance"
    app:subtitleTextAppearance="@style/ToolbarSubtitleAppearance"
    Android:minHeight="?attr/actionBarSize">
</Android.support.v7.widget.Toolbar>

次のようなスタイルを追加します。

<style name="ToolbarTitleAppearance" parent="@style/TextAppearance.Widget.AppCompat.Toolbar.Title">
    <item name="Android:textSize">20dp</item>
    <!-- include other attributes you want to change: textColor, textStyle, etc -->
</style>

<style name="ToolbarSubtitleAppearance" parent="@style/TextAppearance.Widget.AppCompat.Toolbar.Subtitle">
    <item name="Android:textSize">14dp</item>
</style>

この回答へのコメントでは、textSizeの単位をdpにするかspにするかについて説明しています。この回答を最初に書いたとき、Androidソースファイルを見て、dpが使用されていることを確認しました。そのままにしておくことをお勧めします。FrancescoDonzelloがコメントで説明しているように、サイズツールバーのは固定されており、他のウィジェットとは異なり、電話の設定の変更によって拡大されたテキストを含むように拡張されません。

46
Bob Snyder