在v19上使用ActionSherlock的Android透明ActionBar

dev*_*lth 5 android actionbarsherlock android-actionbar android-4.4-kitkat

我改变了AndroidManifest

android:targetSdkVersion="18"
Run Code Online (Sandbox Code Playgroud)

android:targetSdkVersion="19"
Run Code Online (Sandbox Code Playgroud)

现在,使用png我的透明操作栏出现问题

这个我想要的动作栏布局,在带有v18的N4上:

v18漂亮的动作栏

这是n5上v19的动作栏,有一个"小"透明度,但不是满的:

v19,坏动作栏http://img189.imageshack.us/img189/21/gbj1.png

这是我在values/styles.xml中的主题设置:

<style name="MyTheme" parent="Theme.Sherlock.Light">
    <item name="windowActionBarOverlay">true</item>

    <!-- Actionbar Background -->
    <item name="actionBarStyle">@style/My.Actionbar</item>
</style>
<style name="My.Actionbar" parent="Widget.Sherlock.Light.ActionBar.Solid">
    <item name="background">@drawable/actionbarbg</item>
    <item name="android:background">@drawable/actionbarbg</item>
</style>
Run Code Online (Sandbox Code Playgroud)

这在values-v19/styles.xml中

 <style name="MyTheme" parent="Theme.Sherlock.Light">
      <item name="actionBarStyle">@style/My.Actionbar</item>
      <item name="android:actionBarStyle">@style/My.Actionbar</item>
      <item name="windowActionBarOverlay">true</item>
      <item name="android:windowActionBarOverlay">true</item>
</style>

<style name="My.Actionbar" parent="Widget.Sherlock.Light.ActionBar.Solid">
    <item name="android:background">@drawable/actionbarbg</item>
</style>
Run Code Online (Sandbox Code Playgroud)

如果我将targetSdk更改回18,它也适用于Nexus5

任何想法都是我的错?

ant*_*ycr 8

您看到的问题是通常位于操作栏下方的阴影.您可以通过添加删除它

<item name="android:windowContentOverlay">@null</item>
Run Code Online (Sandbox Code Playgroud)

在values-v19文件夹中找到apptheme的样式.

来源:这个答案