我用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中,我在动作栏下面有一个阴影,这是我不想要的。让它消失的样式项是什么?


当前回答

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

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

其他回答

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

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

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

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

getSupportActionBar().setElevation(0);

我也有同样的问题,我已经成功地解决了这个问题。你所要做的就是在你想要移除高程的活动中将高程更改为0浮点值。

如果你想在一个叫myactivity。java的活动中改变它你必须先得到动作栏。

首先导入ActionBar类

import android.support.v7.app.ActionBar;

导入后,您必须初始化操作栏的变量,并将其海拔设置为0。

 private ActionBar toolbar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    .
    .
    toolbar=getSupportActionBar();
    toolbar.setElevation(0);
    .
    .
    }

如果您正在使用ActionBarSherlock

在你的主题中添加这个:

<style name="MyTheme" parent="Theme.Sherlock">
    ....
    <item name="windowContentOverlay">@null</item>
    <item name="android:windowContentOverlay">@null</item>
    ....
</style>

你必须在android.support.design.widget.AppBarLayout中设置app:elevation="0dp",然后它才能工作。

<android.support.design.widget.AppBarLayout
    app:elevation="0dp"... >

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="@android:color/transparent"
        app:popupTheme="@style/AppTheme.PopupOverlay" >


    </android.support.v7.widget.Toolbar>

</android.support.design.widget.AppBarLayout>

对于Android 5.0,如果你想把它直接设置成一个样式,使用:

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

和支持库兼容性使用:

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

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>

然后应用这个自定义动作栏样式到你的应用主题:

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

对于5.0之前的Android,添加这个到你的应用主题:

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