在Android开发中很常见的布局设计大概是使用滚动的标签指示器和滑动的内容页面了,我们的做法通常就是在ViewPager的上方放一个标签指示器与ViewPager进行联动。以前,我们大多使用的是GitHub上的开源框架PagerSlidingTabTrip。Google在Support Design包中发布了一些列新的控件,其中就包括TabLayout以替代开源库PagerSlidingTabStrip的使用。TabLayout配合着ViewPager和Fragment的使用,以帮助我们快速打造一个滑动标签页。
按照惯例,我们先来看看简单的效果图
1、首先,我们需要在应用的build.gradle中添加support:design支持库
compile 'com.android.support:design:23.1.1'
2、创建activity_main.xml文件,在布局文件中添加TabLayout和ViewPager
<?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="vertical">
<android.support.design.widget.TabLayout
android:id="@+id/tablayout"
style="@style/MyCustomTabLayout"
android:layout_width="match_parent"
android:layout_height="30dp" />
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
很多情况下,我们可能需要自定义标示线的颜色,标题的颜色以及TabLayout的背景颜色等,这怎么办呢?我们可以自定义我们的TabLayout Style,然后在TabLayout 中引用,如上面所示:
style="@style/MyCustomTabLayout"
当然我们也可以选择直接在代码上设置
3、我们自定义的TabLayout Style
<style name="MyCustomTabLayout">
<!-- 改变指示器下标的颜色-->
<item name=