按主题更改ActionBar的提升高度

Ste*_*his 15 android android-actionbar android-5.0-lollipop android-elevation

我想删除ActionBar下方的阴影.

我知道我需要将高程更改为0dp,但我想在主题中执行此操作.

对于Android 4.4-我使用: <item name="android:windowContentOverlay">@null</item>

但Android 5.0有可能吗?

Ste*_*his 38

正如Antonio Jose所示,这是一个答案:删除动作栏下方的阴影


对于Android 5.0,如果要将其直接设置为样式使用:

<item name="android:elevation">0dp</item>
Run Code Online (Sandbox Code Playgroud)

和支持库兼容性使用:

<item name="elevation">0dp</item>
Run Code Online (Sandbox Code Playgroud)

AppCompat灯光主题的样式示例:

<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>
Run Code Online (Sandbox Code Playgroud)

然后将此自定义ActionBar样式应用于您的应用主题:

<style name="Theme.MyApp" parent="Theme.AppCompat.Light">
    <item name="actionBarStyle">@style/Theme.MyApp.ActionBar</item>
</style>
Run Code Online (Sandbox Code Playgroud)

对于5.0之前的Android,请将此添加到您的应用主题:

<!-- Remove shadow below action bar Android < 5.0 -->
<item name="android:windowContentOverlay">@null</item>
Run Code Online (Sandbox Code Playgroud)

  • 如果您将`android:elevation`放入样式中,也会使标题也升高,但是如果您仅将`elevation`放入,它将起作用。 (2认同)