我用actionbarsherlock。下面的代码段负责将其背景更改为自定义背景。

<style name="Widget.Styled.ActionBar" parent="Widget.Sherlock.ActionBar">
    <item name="background">@drawable/actionbar_bg</item>
    <item name="android:background">@drawable/actionbar_bg</item>
    <...>  
</style>

<style name="Theme.MyApp" parent="@style/Theme.Sherlock.Light">
    <item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
    <item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
    <..>
</style>

它适用于actionbarsherlock(在蜂窝下面的版本)。但是在ICS中,我在动作栏下面有一个阴影,这是我不想要的。让它消失的样式项是什么?


当前回答

让它消失的样式项是什么?

为了移除阴影,添加这个到你的应用主题:

<style name="MyAppTheme" parent="android:Theme.Holo.Light">
    <item name="android:windowContentOverlay">@null</item>
</style>

更新: 正如@Quinny898所说,在Android 5.0上这已经改变了,你必须在你的操作栏上调用setElevation(0)。注意,如果你正在使用支持库,你必须像这样调用它:

getSupportActionBar().setElevation(0);

其他回答

对于Xamarin开发人员,请使用:SupportActionBar。仰角= 0;用于AppCompatActivity或ActionBar。仰角= 0;非竞赛活动

在Android 5.0上,这已经改变了,你必须在你的操作栏上调用setElevation(0)。注意,如果你正在使用支持库,你必须像这样调用它:

getSupportActionBar().setElevation(0);

它不受windowcontenttoverlay样式项的影响,因此不需要更改样式

Kotlin解决方案(Android 3.3, Kotlin 1.3.20)

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    supportActionBar!!.elevation = 0f
}
app:elevation="0dp" 

但不是

android:elevation="0dp"

为我在安卓L上工作过

对于那些工作在片段和它消失后设置toolbar.getBackground().setAlpha(0);或任何消失,我认为你必须把你的AppBarLayout到xml的最后,所以它的片段然后AppBarLayout然后relativelayout/约束/线性,无论你使用。