1. 程式人生 > >ActionBar修改標題字型大小

ActionBar修改標題字型大小

一開始這樣設定,無效果

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

    <item name="android:textSize">19sp</item>
    <item name="android:actionBarSize">40dp</item>
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

通過檢視parent的Style,發現 title 的 textSize 存在於 ActionBar 的 ActionBarStyle 的 titleTextStyle 裡面

所以

1.重寫Theme.AppCompat.Light.DarkActionBar的actionBarStyle(actionBarStyle繼承自@style/Widget.AppCompat.ActionBar.Solid,可以通過點選DarkActionBar檢視到)

2.重寫actionBarStyle的titleTextStyle (父Style查詢方法同上)

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

    <item name="actionBarStyle">@style/MyActionBarStyle</item>
    <item name="android:actionBarSize">40dp</item>
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

<!-- ActionBar 樣式 -->
<style name="MyTitleTextStyle" parent="@style/Widget.AppCompat.ActionBar.Solid">
    <item name="titleTextStyle">@style/CustomActionBarTitle</item>
</style>

<!-- ActionBar title 的樣式 -->
<style name="MyTitleTextStyle" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item name="android:textColor">@color/white_text</item>
    <item name="android:textSize">19sp</item>
</style>

所以同樣的辦法可以修改actionbar的其他屬性