【问题标题】:Remove shadow between Actionbar and Tab移除 Actionbar 和 Tab 之间的阴影
【发布时间】:2014-08-17 18:58:14
【问题描述】:

我的应用使用的是我使用 Android 操作栏样式生成器制作的自己的样式(样式兼容性 = AppCombat)。 Actionbar 和 tab 的颜色相同,但问题是它们之间有阴影。我怎样才能消除这个阴影?

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

"android:windowContentOverlay" 正在删除选项卡下方而不是上方的阴影。

【问题讨论】:

  • 以后,请将图片附加到问题中,以便我们看到您在说什么。我也有类似的困境,我很想看看你说的图片。
  • @ChaseFlorell 对不起,我已经添加了图片 :)

标签: android android-actionbar android-tabs android-actionbar-compat


【解决方案1】:

好的,这是 Audren Teissiersolution,它对我有用:

这是因为您使用的是可绘制对象而不是颜色。请查找以下内容:

<style name="MyActionBar"
parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
<item name="android:background">@color/yourcolor</item>
</style>

用上述颜色替换可绘制对象,它应该会消失。

【讨论】:

  • 当我将其设置为背景时,我的整个活动都是彩色的。
【解决方案2】:

在您的 AppBarLayout

中使用以下属性
app:elevation="0dp"

【讨论】:

    【解决方案3】:

    在您的片段中使用以下代码

     getSupportActionBar().setElevation(0);
    

    【讨论】:

      【解决方案4】:

      状态栏上的阴影是系统设置的,无法移除,但是您所指的状态栏位于 Theme.Holo.Light 内部。据我所知,它无法删除。

      【讨论】:

      • 我不是指状态栏阴影。该阴影位于操作栏上方。我的意思是操作栏下方的阴影。操作栏和选项卡之间的阴影。
      【解决方案5】:

      希望我正确理解了您的问题,即您希望以某种方式将操作栏与选项卡合并,以便两者之间没有边框 -> 您提到的线条或阴影。如果这是正确的,那么这就是你要找的:

      将此添加到您的MyAppTheme

      <item name="android:actionBarStyle">@style/LineRemover</item>
      

      并改变这一行:

      <item name="android:windowContentOverlay">@null</item>
      

      到这里:

      <item name="android:windowActionBarOverlay">true</item>
      

      然后在下面添加如下样式:

      <style name="LineRemover" parent="android:Widget.Holo.ActionBar">
          <item name="android:background">@android:color/transparent</item>
      </style>
      

      最后你有这样的东西:

      <style name="MyAppTheme" parent="@android:style/Theme.Holo.Light">
          <item name="android:windowActionBarOverlay">true</item>
          <item name="android:actionBarStyle">@style/LineRemover</item>
      </style>
      
      <style name="LineRemover" parent="android:Widget.Holo.ActionBar">
          <item name="android:background">@android:color/transparent</item>
      </style>
      

      我猜你知道你必须在 android 清单中注册你的主题(在你的活动或应用程序标签中:

        android:theme="@style/MyAppTheme" >
      

      如果这对您有帮助,请记住将其标记为您接受的答案:)

      【讨论】:

      • 抱歉,它不起作用。我在问题中添加了一个链接以便更好地理解
      • @Mete 再次通读我的回答,我已经添加了更多信息......让我知道它是否适合您:) 如果在这些更改后仍然无法正常工作,请尝试更改您的父母MyAppTheme
      【解决方案6】:

      如果您设置选项卡布局高度 Remove.its 工作正常

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-09-24
        • 1970-01-01
        • 2017-09-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多