2

I would like to have an ActionBar with the following properties:

  1. Overlay bar, so that the layout's parent view will stretch to full the whole window.
  2. A white title color for the ActionBar.
  3. Transparent background.

I'm targeting API 14+, with AppCompat-v7:22.2.1. So I prepare my styles like this:

<style name="Theme.MyTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
    <item name="android:actionBarStyle">@style/Theme.MyTheme.MyActionBar</item>
    <item name="actionBarStyle">@style/Theme.MyTheme.MyActionBar</item>

    <item name="colorPrimary">#5af142</item>
    <item name="colorPrimaryDark">#06dd09</item>
    <item name="colorAccent">#20f304</item>
</style>

<style name="Theme.MyTheme.MyActionBar" parent="@style/Widget.AppCompat.ActionBar">
    <item name="android:background">@android:color/transparent</item>
    <item name="background">@android:color/transparent</item>
    <item name="android:windowActionBarOverlay">true</item>
    <item name="windowActionBarOverlay">true</item>
    <item name="android:textColor">@android:color/white</item>
</style>

And, in the Manifest, I set Theme.MyTheme as my activity's theme.

1 & 2 are working, 3 is not. It seams that I get a grey-ish background, and I don't know what should I change/add.

iTurki
  • 16,292
  • 20
  • 87
  • 132

1 Answers1

4

Try out below code, which is my styles.xml

<resources>

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!--<item name="android:windowActionBarOverlay">true</item>

    <item name="windowActionBarOverlay">true</item>-->
    <item name="android:windowActionBarOverlay">true</item>
    <item name="android:actionBarStyle">@style/MyActionBar</item>

    <!-- Support library compatibility -->
    <item name="windowActionBarOverlay">true</item>
    <item name="actionBarStyle">@style/MyActionBar</item>

    <item name="android:windowContentOverlay">@null</item>
</style>

<!-- ActionBar styles -->
<style name="MyActionBar"
    parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
    <item name="android:background">@color/transparent</item>
    <item name="android:titleTextStyle">@style/Theme.YourTheme.Styled.ActionBar.TitleTextStyle</item>
    <!-- Support library compatibility -->
    <item name="background">@color/transparent</item>
    <item name="titleTextStyle">@style/Theme.YourTheme.Styled.ActionBar.TitleTextStyle</item>

</style>


<style name="Theme.YourTheme.Styled.ActionBar.TitleTextStyle" parent="@android:style/Widget.TextView">
    <item name="android:textSize">13sp</item>
    <item name="android:textStyle">bold</item>
    <item name="android:textColor">@android:color/white</item>

    <item name="textSize">13sp</item>
    <item name="textStyle">bold</item>
    <item name="textColor">@android:color/white</item>
</style>


</resources>
Sumighosh Charuvil
  • 446
  • 1
  • 4
  • 14