TabLayout(一)

作者: Android师哥 | 来源:发表于2018-05-30 10:51 被阅读0次
    NightRain.png

    使用TabLayout可以将大量关联的数据或者选项划分成更易理解的分组,有效的进行内容导航和内容组织。

    效果

    TabLayout效果图

    布局文件

        <android.support.design.widget.TabLayout
            android:id="@+id/tl_mian_tab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:tabBackground="@color/colorWhite"
            app:tabContentStart="10dp"
            app:tabGravity="center"
            app:tabIndicatorColor="#ff0000"
            app:tabIndicatorHeight="2dp"
            app:tabMode="scrollable"
            app:tabSelectedTextColor="#ff0000"
            app:tabTextAppearance="@style/TabTextStyle"
            app:tabTextColor="#00ff00" />
    

    添加数据

    第一种方式(在java文件中)

            //添加Tab数据
            tl_mian.addTab(tl_mian.newTab().setText("推荐"));
    

    第二种方式(在xml中添加)

        <android.support.design.widget.TabLayout
            android:layout_width="match_parent"
            app:tabMode="fixed"
            app:tabGravity="center"
            android:layout_height="40dp">
    
            <android.support.design.widget.TabItem
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="系统" />
    
            <android.support.design.widget.TabItem
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="消息" />
    
            <android.support.design.widget.TabItem
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="客服" />
        </android.support.design.widget.TabLayout>
    

    常用方法

    方法 说明
    newTab 获取一个Tab对象,用来包装Item属性
    addTab 添加一个Tab到TabLayout中(也就是一个Item)
    addOnTabSelectedListener abLayout选择监听
    setScrollPosition 选中某个位置的Item
    setupWithViewPager 设置和ViewPage关联

    自定义属性说明

    自定义属性 说明 参数
    tabBackground TabLayout背景颜色 color资源文件
    tabContentStart TabLayout内容距离开始位置的距离 尺寸值
    tabGravity TabLayou重力方式 center:居中显示
    fill:填充
    tabIndicatorColor TabLayout指示器的颜色 颜色值
    tabIndicatorHeight TabLayout指示器的高度 尺寸值
    tabMode TabLayout显示模式 scrollable:滑动显示
    fixed:固定宽度显示
    tabSelectedTextColor TabLayout选中时候文字的颜色 颜色值
    tabTextColor TabLayout默认时候文字的颜色 颜色值
    tabTextAppearance TabLayout文字样式 style资源文件
    tabPadding TabLayout内边距 尺寸值

    注意

    1. 设置tabGravity属性的前提是tabMode的属性必须为fixed;
    2. 如果设置了tabTextColor的属性,在设置tabTextAppearance可以不包含颜色属性,但是没有设置tabTextColor的话,tabTextAppearance里必须包含颜色属性;
    3. 在设置tabContentStart属性的时候如果看不到效果,把值加大一点在试一试,原因是在源码中paddingStart = Math.max(0, mContentInsetStart - mTabPaddingStart);有这样一句话,如果你设置的值小于TabPadding,就取0;
    4. 使用的时候记得导包正确android.support.design.widget.TabLayout;

    相关文章

      网友评论

        本文标题:TabLayout(一)

        本文链接:https://www.haomeiwen.com/subject/iurtsftx.html