Tablayout的使用

属性

属性名 说明
app:tabMod 设置Tab模式
app:tabTextColor 设置文本颜色
app:tabSelectedTextColor 设置选中文本颜色
app:tabIndicatorColor 设置下滑条颜色
app:tabMaxWidth="xxdp" 设置最大的tab宽度
app:tabMinWidth="xxdp" 设置最小的tab宽度

使用,添加选项

  1. 静态创建(xml文件中添加tab)

效果:

添加一个tabitem即可,之后设置相关的属性,

<android.support.design.widget.TabLayout
android:id="@+id/tablayout"
app:tabTextColor="@color/colorAccent"
app:tabSelectedTextColor="@color/colorPrimary"
app:tabIndicatorColor="@color/colorAccent"
app:tabMode="fixed"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="下载"
/>
<android.support.design.widget.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="下载"
/>
</android.support.design.widget.TabLayout>
  1. 动态创建(使用java代码添加tab)

先是通过findviewbyid方法找到实例,之后调用tablayoutnewTab方法来创建tab

		TabLayout.Tab tab1 = mTablayout.newTab();
tab1.setText("正在下载");
mTablayout.addTab(tab1,0);
tab1 = mTablayout.newTab();
tab1.setText("已下载");
mTablayout.addTab(tab1,1);

不过,使用动态的话,如果不设置相关的属性,是不能达到两个选项各自占长度一半,还得给Tablayout加上下列属性

            app:tabMaxWidth="0dp"
app:tabGravity="fill"
app:tabMode="fixed"

Tablayout与Viewpager联用

一句代码即可搞定

tabLayout.setupWithViewPager(Viewpager);

有些时候可能会出现不显示文本的情况,这时候需要在 PagerAdapter 里面重写一个方法

String[] titles ={"tab1","tab2"};
@Override
public CharSequence getPageTitle(int position) {
    return mStrings[position];
}

参考

Tablayout

Android开发—— Tablayout的使用的更多相关文章

  1. Android开发 Tablayout的学习

    前言 Tablayout一般做主页底下的导航栏开发或者上面的选择栏开发,就个人感觉Tablayout用于主页导航栏会比BottomNavigationView更好,自定义方面也更容易.缺点是没有动画也 ...

  2. Android开发之漫漫长途 Fragment番外篇——TabLayout+ViewPager+Fragment

    该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解And ...

  3. Android开发问题笔记

    1.Toolbar问题:最低版本15,必须使用support,才能使用Toolbar,Toobar是5.0引入的 2.BottomTab:这个用TabLayout解决了 3.后端API最好采用一个成熟 ...

  4. 你不可不看的Android开发命名规范

    标识符命名法最要有四种: Camel(骆驼)命名法:除首单词外,其余所有单词的第一个字母大写,如:fooBar; Pascal命名法:所有单词的第一个字母大写,如:FooBar: 下划线命名法:单词与 ...

  5. 【转】Android开发笔记(序)写在前面的目录

    原文:http://blog.csdn.net/aqi00/article/details/50012511 知识点分类 一方面写写自己走过的弯路掉进去的坑,避免以后再犯:另一方面希望通过分享自己的经 ...

  6. Android中Tablayout设置下划线宽度 和 dp和px之间进行相互转换

    开发中遇到了一个问题,Tablayout设置下换线长度,看了点资料,分享给大家. 效果图:               直接贴代码(要在tabLayout添加完所有的tab后调用) public vo ...

  7. android开发中遇到的问题汇总【九】

    244.http请求的url含有中字符时.须要Uri编码.Uri.encoder() 245.使用androidstudio时,不知道什么原因svn不见了 Android Studio missing ...

  8. 大厂需要什么样的 Android 开发?

    前言 昨天和一个百度的朋友闲聊,他说根据最近招聘 Android工程师的经验来看,大部分候选人在工作 3 年的时候基本都会遇上一道难过的坎. 为啥这么说呢? 因为工作一段时间之后,大部分工程师都已经完 ...

  9. 干了8年Android开发熬到年薪40万,突然接到被辞退消息,应该怎么办?

    01 36岁Android开发,为公司工作8年,昨天HR说公司不准备续约 前天晚上,有个读者给我留言,讲述了他自己比较气愤的一件事,感觉自己委屈又不值. 这位朋友不愿意透露姓名,就叫他H先生吧. H先 ...

随机推荐

  1. PAT1048:Find Coins

    1048. Find Coins (25) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Eva loves ...

  2. String的lastIndexOf()用于获取字符串中某个子字符串最后一次出现的位置

    String还定义有lastIndexOf(String str,int from) 意思为str在字符串多次出现时将返回最后一次出现的位置. eg: String str = "I can ...

  3. Centos7安装Redis3.2.8

    一.系统环境和版本说明 Redis的版本选取目前的官网版本redis-3.2.8. 二.Redis的安装步骤      2.1 在线下载Redis的安装包 [root@localhost lzh]# ...

  4. activemq+Zookeper高可用集群方案配置

    在高并发.对稳定性要求极高的系统中,高可用的是必不可少的,当然ActiveMQ也有自己的集群方案.从ActiveMQ 5.9开始,ActiveMQ的集群实现方式取消了传统的Master-Slave方式 ...

  5. Java bean和json互转时,屏蔽某个属性

    有的时候我们把java bean 转换成json的时候,希望屏蔽掉某个属性,这时可以在java bean的属性上加上@JsonIgnore注解,在com.fasterxml.jackson.annot ...

  6. MongoDB安装与配置

    参考文档:MongoDB官方文档 版本:3.6.4 从版本3.6开始,MongoDB需要Windows Server 2008 R2,Windows 7或更高版本. 第一步,在下载中心下载最新版本的M ...

  7. Mabits简单应用 2017.8.3

    http://www.cnblogs.com/wushiqi54719880/archive/2011/07/26/2117601.html

  8. adb常用操作命令

    1.adb简介:    adb,即 Android Debug Bridge.通过这个工具和android进行交互操作 2.adb命令格式:    adb [-d|-e|-s <serialNu ...

  9. java中位运算

    1byte(字节)=8bit(比特) 1 0 0 0 0 0 0 0 1   2进制的1的原码 反码 补码 0 0 0 0 0 0 0 0   2进制的0的原码 反码 补码 -1 1 0 0 0 0 ...

  10. bzoj 2653 middle 二分答案 主席树判定

    判断中位数是否可行需要将当前的解作为分界,大于其的置为1,小于为-1,然后b-c必选,ab,cd可不选,这个用线段树判定就好 但不能每次跑,所以套主席树,按权值排序,构建主席树,更新时将上一个节点改为 ...