移除 Android TabLayout 下方的阴影

14

我正在尝试在使用TabLayout时删除选项卡下方的阴影,该TabLayout是在普通布局中定义的(不是作为工具栏或操作栏的一部分)。

将主题设置为

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

没有起作用。

而且,将高度设置为0也无济于事。

 <android.support.design.widget.TabLayout xmlns:app="http://schemas.android.com/apk/res-auto"
                android:id="@+id/sliding_tabs"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:background="@android:color/white"
                app:backgroundTint="@android:color/transparent"
                app:tabIndicatorColor="@android:color/transparent"
                app:tabMode="scrollable"/>

请查看此答案链接 - Sanjeev
1
你是认真的吗?那正是我说过我做的事情。 - Dus
好的,但是我尝试了你的代码,但是在API 21(Lolipop)中没有得到任何阴影效果。你能告诉我你正在测试应用程序的哪个API版本,并且高程在API级别21或更高版本上工作吗? - Sanjeev
是的,在Android L上我遇到了同样的问题,它不是操作栏阴影,而是选项卡布局的阴影。对于我来说,"<item name =“android:windowContentOverlay”> @ null <item/>"也无效。 - Vikram
5个回答

49

我假设你的 TabLayoutAppBarLayout 中,那个阴影是由 AppBarLayout 产生的,将这个 app:elevation="0dp" 添加到该小部件中,我相信你可以解决这个问题。


1
谢谢。**app:elevation="0dp"** 帮助我移除了 android.support.v7.widget.Toolbar 下方的阴影(封装在 android.support.design.widget.AppBarLayout 中)。因此,TabLayout 上方也没有阴影了。 - kosiara - Bartosz Kosarzycki

8

我尝试让 app:elevation="0dp" 生效,但是 android:elevation="0dp"AppBarLayout 中无效。


0
我必须将高度设置为0dp,同时将AppBarLayout的主题更改为@style/Base.Widget.Design.TabLayout,这对我有用。

0
在你的活动中写下这个。
supportActionBar?.elevation = 0f

OP已经提到它没有使用任何actionBar,所以这行代码首先不会执行。 - Abhishek Dutt

-2
getSupportActionBar().setElevation(0); 放在 MainActivity 的 Java 文件中,像这样:
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    getSupportActionBar().setElevation(0);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接