无法在TabLayout设计支持库中看到Tab指标

Her*_*rry 14 android material-design android-support-design

我使用的材料设计库,并使用创建布局CoordinatorLayout,AppBarLayout,RecyclerViewTabLayout.

我的问题是我无法看到Tab指示符Tablayout.Below是我正在使用的xml文件AppCompactActivity.

<android.support.design.widget.CoordinatorLayout
        android:id="@+id/coodinate_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@+id/btn_next_screen">

        <android.support.v7.widget.RecyclerView
            android:id="@+id/list_recycle"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginBottom="30dp"
            android:background="@color/white"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"

            />

        <android.support.design.widget.AppBarLayout
            android:id="@+id/abar_layout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar_home"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="?attr/colorPrimary"
                android:minHeight="?attr/actionBarSize"
                app:layout_scrollFlags="scroll|enterAlways"

                >


            </android.support.v7.widget.Toolbar>

            <android.support.design.widget.TabLayout
                android:id="@+id/tab_layout"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:tabBackground="@color/tab_bg"
                app:tabIndicatorColor="@color/tab_indicator"
                app:tabIndicatorHeight="5dp"
                app:tabMode="fixed"

                ></android.support.design.widget.TabLayout>


        </android.support.design.widget.AppBarLayout>


        <android.support.design.widget.FloatingActionButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="15dp"
            app:layout_anchor="@+id/list_recycle"
            app:layout_anchorGravity="bottom|right"
            android:id="@+id/floatin_ab_home"
            app:fabSize="mini"
            android:src="@drawable/ic_content_add"

            />


    </android.support.design.widget.CoordinatorLayout> 
Run Code Online (Sandbox Code Playgroud)

下面是没有显示Tab指示器的屏幕,所以任何人都知道我缺少什么.

缺少Tab指标的屏幕

Moi*_*han 31

我认为这是设计支持库的错误.当您同时应用这两个属性时

app:tabBackground="@color/tab_bg"
app:tabIndicatorColor="@color/tab_indicator"
Run Code Online (Sandbox Code Playgroud)

背景颜色 重叠 标签指示器.这就是选项卡指示器不可见的原因.

如果删除tabBackground颜色属性,则可以看到指示符.

[2015年5月25日更新]

正如我所说,这是设计支持库的错误.我把它报告给了android bug源码.这是参考https://code.google.com/p/android/issues/detail?id=176540.

因此,问题的状态是FutureRelease,因此修复了错误.它将来到未来的图书馆.

[更新20-07-2015]

该错误已修复,并在第22.2.1节中发布.你也可以在上面的链接上查看它.


小智 11

您可以使用以下方法

1更改xml应用程序:tabIndicatorColor =""设置指标颜色

2创造服装主题

<style name="AppTheme.TabStyle" parent="Widget.Design.TabLayout">
        <item name="tabTextAppearance">@style/AppTheme.TextStyle</item>
        <item name="tabTextColor">@color/primaryDark</item>
        <item name="tabSelectedTextColor">@color/white</item>
        <item name="tabIndicatorColor">@color/primaryDark</item>
        <item name="tabIndicatorHeight">3dp</item>
        <item name="android:background">?attr/colorPrimary</item>
    </style>

    <style name="AppTheme.TextStyle" parent="TextAppearance.Design.Tab">
        <item name="android:textSize">14sp</item>
        <item name="textAllCaps">true</item>
    </style>
Run Code Online (Sandbox Code Playgroud)

在Tablayout中设置主题