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