es0329
es0329

Reputation: 1432

Android's Material Design of Toolbar / SupportActionBar

I'm experimenting with the news themes tonight and I'm wondering if anyone knows these fix to this issue.

This appears on the stock Toolbar and even, as seen below, when referring to custom layout file.

It's relatively minor but my OCD eyes go right to it so maybe someone can help. Thanks :)

Screenshot of cropped subtitle descenders.

Upvotes: 4

Views: 2355

Answers (2)

Alexander Suslov
Alexander Suslov

Reputation: 76

If es0329's answer doesn't work for you, try to replace titleTextStyle by titleTextAppearance. It is working for me:

    <style name="MyActionBar" parent="Widget.AppCompat.ActionBar">
        <item name="android:titleTextAppearance">@style/MyActionBarTitleText</item>
        <item name="titleTextAppearance">@style/MyActionBarTitleText</item>

        <item name="android:subtitleTextAppearance">@style/MyActionBarSubTitleText</item>
        <item name="subtitleTextAppearance">@style/MyActionBarSubTitleText</item>

        <item name="android:background">@color/blue</item>
        <item name="background">@color/blue</item>
    </style>

Upvotes: 0

es0329
es0329

Reputation: 1432

UPDATE: Inheriting from the correct theme and declaring attributes in pairs (with and without the android: prefix) was the fix!

<!-- Base app theme. -->
<style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="android:actionBarStyle">@style/MyActionBar</item>
    <item name="actionBarStyle">@style/MyActionBar</item>
</style>

<!-- ActionBar styles. -->
<style name="MyActionBar" parent="Widget.AppCompat.ActionBar">
    <item name="android:titleTextStyle">@style/MyActionBarTitleText</item>
    <item name="titleTextStyle">@style/MyActionBarTitleText</item>

    <item name="android:subtitleTextStyle">@style/MyActionBarSubTitleText</item>
    <item name="subtitleTextStyle">@style/MyActionBarSubTitleText</item>

    <item name="android:background">@color/blue</item>
    <item name="background">@color/blue</item>
</style>

<style name="MyActionBarTitleText" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item name="android:textColor">@color/white</item>
</style>

<style name="MyActionBarSubTitleText" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Subtitle">
    <item name="android:textColor">@color/white</item>
    <item name="android:textSize">@dimen/subtitle</item>
</style>

Upvotes: 6

Related Questions