选择器不能与TabLayout一起使用

时间:2016-05-11 05:28:12

标签: android

我已使用自定义视图添加了标签布局,如下所示

java代码

     for (int i = 0; i < allTabs.getTabCount(); i++) {
        TabLayout.Tab tab = allTabs.getTabAt(i);
        View v = LayoutInflater.from(getActivity()).inflate(R.layout.tab_layout, allTabs, false);
        tvTabText = (TextView) v.findViewById(R.id.tab_title);
        View view = (View) v.findViewById(R.id.deviderView);
        tvTabText.setText(tab.getText());
        tab.setCustomView(v);
        if (i == 0) {
            view.setVisibility(View.GONE); // Hide last devider


        }
    }

Xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">

<!-- Tab title -->
<TextView
    android:id="@+id/tab_title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:gravity="center_horizontal"
    android:text="sdasd"
    android:padding="10dp"
    android:textStyle="bold"
    android:textColor="@drawable/tab_item_selector"
    android:textSize="@dimen/text_size_normal" />

<!-- Tab divider -->

<View
    android:id="@+id/deviderView"
    android:layout_width="1dp"
    android:layout_height="wrap_content"
    android:layout_gravity="right"
    android:layout_marginBottom="15dp"
    android:layout_marginTop="15dp"
    android:background="@android:color/white"
    android:gravity="right" />

tab_item_selector.xml

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:color="@android:color/white" />
<item android:state_focused="true" android:color="@android:color/white" />
<item android:state_pressed="true" android:color="@android:color/white" />
<item android:color="#82c6e6" />

我选择了第一个标签

allTabs.addTab(allTabs.newTab().setText("CURRENT YEAR"),true);

也可以尝试使用

if (i == 0) {
            view.setVisibility(View.GONE);
            tab.select();
        }

在自定义视图中。

我也试试

allTabs.setTabTextColors(normal,selected);

这是我的TabLayout

 <android.support.design.widget.TabLayout
    android:id="@+id/tabs"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/master_color"
    app:tabMode="scrollable"
    app:tabPaddingEnd="0dp"
    app:tabPaddingStart="0dp"/>

compile 'com.android.support:appcompat-v7:23.3.0'
compile 'com.android.support:design:23.3.0'

一旦视图出现我点击forst标签而不是标签将显示wihte彩色文字但是当我发布时按下然后每次文本转到正常颜色。 如果我点击第二个标签,然后点击第一个标签,它将作为一个方面正常工作。

所有时间加载第一个标签,但我无法获得第一个选项卡(选择标签时我想要的白色文字)

1 个答案:

答案 0 :(得分:0)

你可以在tabLayout中试试这个:

app:tabTextColor="@color/gray"
app:tabSelectedTextColor="@color/white"