自定义选项卡不突出显示

时间:2016-03-23 17:10:49

标签: android

我想像WhatsApp一样在标签中显示计数。 enter image description here

我在标签中添加了一个自定义视图,我可以像这样实现。我现在面临的问题是,当页面加载时,第一个选项卡不会突出显示。当我将viewpager滑动到下一个选项卡然后返回时,它会突出显示。

我将颜色选择器设置为文本视图的文本颜色。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true"
        android:color="@color/white" /> <!-- pressed -->
    <item android:state_focused="true"
        android:color="@color/white" /> <!-- focused -->
    <item android:state_selected="true"
        android:color="@color/white" />
    <item android:state_active="true"
        android:color="@color/white" />
    <item android:state_active="false"
        android:color="@color/inactive_tab_color" />
    <item android:state_activated="true"
        android:color="@color/white" />
    <item android:color="@color/white" /> <!-- default -->
</selector>

这是标签布局。

<android.support.design.widget.TabLayout
            android:id="@+id/tabs"
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:background="@color/red"
            app:tabTextColor="@color/inactive_tab_color"
            app:tabSelectedTextColor="@color/white"
            app:tabIndicatorColor="@color/white"
            android:layout_gravity="bottom"
            app:layout_scrollFlags="scroll" />

我尝试了getTabLayout().getTabAt(0).select()viewPager.setCurrentItem(0)但没有工作。该选项卡未突出显示。

任何人都可以告诉我应该怎么做才能实现这个目标?

1 个答案:

答案 0 :(得分:0)

我找到了解决这个问题的方法。

在初始化标签的位置,我首先选择第二个标签的代码,然后是第一个标签。由于这些代码在页面向用户查看之前运行,因此他/她不会感觉到选项卡的闪烁。

我知道这不是最好的方法。这只是一个解决方法。但是由于我没有得到任何其他解决方案,我去了。代码片段如下。

onActivityCreated()

在初始化标签的位置添加上述代码。对于片段,onCreate(),对于Activity, R <-- interface / \ / \ / \ BR RR <-- abstract classes / | \ / | \ / | \ / | \ BRA BRB BRC RRA RRB RRC <-- classes