如何将TabLayout背景设置为透明

onC*_*ate 4 tabs android

我需要将TabLayout(扩展Horizo​​ntalScrollView)背景更改为透明,而无需更改样式的原色。如果我将背景设置为#00000000,它将变为primaryColor。如果我将alpha设置为0-我将得到相同的行为。

在此处输入图片说明

<android.support.design.widget.TabLayout
        android:id="@+id/tabs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#00000000"
        android:hapticFeedbackEnabled="true"/>
Run Code Online (Sandbox Code Playgroud)

有什么方法可以将背景色设置为透明而无需更改样式颜色?

cri*_*sys 8

用:

 android:background="@android:color/transparent"
Run Code Online (Sandbox Code Playgroud)

也在 AppBarLayout 中。要删除阴影以使其看起来更好,您可以使用以下命令删除 AppBarlayout 的高度:

 app:elevation="0dp"
Run Code Online (Sandbox Code Playgroud)


小智 5

如果使用<android.support.design.widget.AppBarLayout />,则必须在其中插入TabLayout。

<!-- App Bar -->
<android.support.design.widget.AppBarLayout
        android:id="@+id/appBarLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <android.support.v7.widget.Toolbar
            android:id="@+id/app_bar"
            ......
            android:background="@color/app_bar_color"
            app:layout_scrollFlags="scroll|enterAlways" />
    </android.support.design.widget.AppBarLayout>

<!-- Tab Layout -->
<android.support.design.widget.TabLayout
       android:id="@+id/tabs"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:background="@android:color/transparent"
       android:hapticFeedbackEnabled="true"/>
Run Code Online (Sandbox Code Playgroud)

结果将像这样