所以效果会是每个单独的标签除了文字颜色会有点大的变化。我试过使用setCustomTabView(),但它只适用于第一个选项卡,而我的其他选项卡未显示。
最佳答案
下面是一个使用setCustomTabView()的示例:
在您的布局中,有viewpager和slidingtable布局:
<com.yourProject.SlidingTabLayout <--- IMPORT latest from Google[*see link]
android:id="@+id/sliding_tabs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<android.support.v4.view.ViewPager android:id="@+id/viewPager"
android:layout_marginTop="@dimen/text_size_medium"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.v4.view.ViewPager>
https://github.com/google/iosched/blob/master/android/src/main/java/com/google/samples/apps/iosched/ui/widget/SlidingTabLayout.java在这里您还可以找到SlidingTaStrip,它也是必需的。
然后在片段或活动中,设置滑动选项卡的自定义视图,如下所示:
viewPager = (ViewPager) rootView.findViewById(R.id.viewPager);
mSlidingTabLayout = (SlidingTabLayout) rootView.findViewById(R.id.sliding_tabs);
mSlidingTabLayout.setSelectedIndicatorColors(getResources().getColor(R.color.accent));
mSlidingTabLayout.setCustomTabView(R.layout.sliding_tab_layout_custom, R.id.item);
mSlidingTabLayout.setDistributeEvenly(false);
mSlidingTabLayout.setViewPager(viewPager);
选项卡的自定义布局为:
../layout/sliding_tab_layout.xml格式
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
android:id="@+id/item"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="@dimen/text_size_small"
android:textColor="@color/primary"
android:textSize="@dimen/text_size_medium"/>
</LinearLayout>
这个例子是经过测试的,所以应该是有效的。希望有帮助:)