我使用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中,我在动作栏下面有一个阴影,我不想要 . What is the style item to make it disappear?
10 回答
要删除阴影,请将此添加到您的应用主题:
UPDATE: 正如@ Quinny898所说,在Android 5.0上已经改变了,你必须在你的操作栏上调用
setElevation(0)
. 请注意,如果您使用支持库,则必须将其调用为:对于Android 5.0,如果要将其直接设置为样式使用:
和支持库兼容性使用:
AppCompat灯光主题的样式示例:
然后将此自定义ActionBar样式应用于您的应用主题:
对于5.0之前的Android,请将此添加到您的应用主题:
在Android 5.0上已经改变了,你必须在你的操作栏上调用setElevation(0) . 请注意,如果您使用支持库,则必须将其调用为:
它不受windowContentOverlay样式项的影响,因此不需要更改样式
在AppBarLayout中添加
app:elevation="0dp"
以隐藏appbar中的阴影如果您正在使用ActionBarSherlock
在你的主题中添加:
您必须在android.support.design.widget.AppBarLayout中设置app:elevetor =“0dp”,然后才能正常工作:D
但不是
在Android L上为我工作
我有同样的问题,我已成功解决了这个问题 . 您所要做的就是在要删除高程的活动中将高程更改为0浮点值 .
如果要在名为
MyActivity.java
的活动中更改它,则必须先获取ActionBar
.首先导入
ActionBar
类导入后,您必须初始化操作栏的变量并将其高程设置为0 .
对于Xamarin开发人员,请使用:
SupportActionBar.Elevation = 0;
forAppCompatActivity
或ActionBar.Elevation = 0;
for non-compat Activities对于那些处理碎片并且在设置
toolbar.getBackground().setAlpha(0);
或任何消失后消失的人,我认为你必须将你的AppBarLayout带到xml中的最后一个,所以它的Fragment然后是AppBarLayout然后是relativelayout / constraint / linear,无论你使用哪个 .