Change Elevation of ActionBar by theme

2019-03-18 03:02发布

问题:

I want to remove the shadow below the ActionBar.

I know that I need to change the elevation to 0dp, but I want to do it in the theme.

For Android 4.4- I use : <item name="android:windowContentOverlay">@null</item>

But is it possible for Android 5.0 ?

回答1:

As shown by Antonio Jose, here is an answer : Remove shadow below actionbar


For Android 5.0, if you want to set it directly into a style use:

<item name="android:elevation">0dp</item>

and for Support library compatibility use:

<item name="elevation">0dp</item>

Example of style for a AppCompat light theme:

<style name="Theme.MyApp.ActionBar" parent="style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<!-- remove shadow below action bar -->
<!-- <item name="android:elevation">0dp</item> -->
<!-- Support library compatibility -->
<item name="elevation">0dp</item>
</style>

Then apply this custom ActionBar style to you app theme:

<style name="Theme.MyApp" parent="Theme.AppCompat.Light">
    <item name="actionBarStyle">@style/Theme.MyApp.ActionBar</item>
</style>

For pre 5.0 Android, add this too to your app theme:

<!-- Remove shadow below action bar Android < 5.0 -->
<item name="android:windowContentOverlay">@null</item>