如何将TabLayout背景设置为透明

时间:2015-09-03 09:52:52

标签: android tabs

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

enter image description here

<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"/>

有没有办法在不改变样式颜色的情况下将背景颜色设置为透明?

3 个答案:

答案 0 :(得分:4)

如果您使用<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"/>

The Result will be like this

答案 1 :(得分:3)

使用:

 android:background="@android:color/transparent"

也在AppBarLayout中。 要删除阴影以使外观更好,您可以使用以下命令删除AppBarlayout的高程:

 app:elevation="0dp"

答案 2 :(得分:0)

尝试一下

<android.support.design.widget.TabLayout
    android:id="@+id/tabs"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:alpha="0.3"
    android:background="@android:color/black"
    android:hapticFeedbackEnabled="true"/>

对我有用。