TabLayout属性:

app:tabIndicatorColor="#fff"  //下方滚动的下划线颜色
app:tabIndicatorHeight="10dp"  //滚动的下划线的宽度
app:tabSelectedTextColor="#00f" // tab被选中后,文字的颜色  
app:tabTextColor="#fff"  // tab默认的文字颜色 
app:tabMode="scrollable"  // Tab可滚动  默认不可以滚动

app:tabMaxWidth="0dp" //Tab填充

TabLayout依赖:implementation 'com.android.support:design:26.1.0'

选项卡布局:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.lantianbaiyunyk.asus.tablayout.MainActivity"> <android.support.design.widget.TabLayout
android:layout_height="50dp"
android:layout_width="match_parent"
android:id="@+id/course_search_tablayout"
app:tabGravity="fill"
app:tabMode="fixed"
app:tabTextColor="#666666"
app:tabSelectedTextColor="#0414f6"
app:tabIndicatorColor="#0414f6"/> <LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="vertical"
android:background="#ddd"
> <android.support.v4.view.ViewPager
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:id="@+id/search_pager"
> </android.support.v4.view.ViewPager> </LinearLayout> </TableLayout>
MyActivity:
public class MainActivity extends AppCompatActivity {

    private TabLayout course_search_tablayout;
private ViewPager search_pager;
private ArrayList<android.support.v4.app.Fragment> mFragments = new ArrayList<>();
private ArrayList<String> list = new ArrayList<>(); @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
Fragment1 fragment1 = new Fragment1();
Fragment2 fragment2 = new Fragment2();
Fragment3 fragment3 = new Fragment3();
mFragments.add(fragment1);
mFragments.add(fragment2);
mFragments.add(fragment3);
list.add("页面一");
list.add("页面二");
list.add("页面三");
course_search_tablayout.setupWithViewPager(search_pager);
search_pager.setAdapter(new Adapter(getSupportFragmentManager(),mFragments,list)); } private void initView() {
course_search_tablayout = (TabLayout) findViewById(R.id.course_search_tablayout);
search_pager = (ViewPager) findViewById(R.id.search_pager);
}
}

Adapter:

public class Adapter extends FragmentPagerAdapter{
private ArrayList<Fragment> fragments;
private ArrayList<String> list; public Adapter(FragmentManager fm, ArrayList<Fragment> fragments, ArrayList<String> list) {
super(fm);
this.fragments = fragments;
this.list = list;
} @Override
public Fragment getItem(int position) {
return fragments.get(position);
} @Override
public int getCount() {
return fragments.size();
} @Override
public CharSequence getPageTitle(int position) {
return list.get(position);
}
}
 

简单的TabLayout+Fragment选项卡的更多相关文章

  1. 基于jQuery简单实用的Tabs选项卡插件

    jQuery庞大的插件库总是让人欢喜让人忧,如何从庞大的插件库里挑出适合自己的插件,总是让很多缺少经验的朋友头疼的事!今天为大家推荐几款简单实用的Tabs选项卡插件,推荐理由:简单易用灵活,样式美观, ...

  2. 巧力避免ViewPager的预加载数据,Tablayout+Fragment+viewPager

    问题描述 最近在进行一个项目的开发,其中使用到了Tablayout+Fragment+viewPager来搭建一个基本的框架,从而出现了设置数据适配器的时候,item的位置错乱问题.我打印log日志的 ...

  3. TabLayout+Fragment+ViewPager+FragmentStatePagerAdapter实现Tab标签

    首先来看下实现的效果吧: 最近在项目中实现这个效果的时候.尽管自己磕磕绊绊的实现了,可是知识确实模模糊糊的,今天天气异常的冷,在加上这个知识不太熟练,实在是没有心情进行接下来的计划,干脆借着这个时间, ...

  4. ViewPager + TabLayout + Fragment + MediaPlayer的使用

    效果图 在gradle里导包  implementation 'com.android.support:design:28.0.0' activity_main <?xml version=&q ...

  5. Android Fragment(三)ListFragment简单介绍以及Fragment之间通信

    一.Fragment通信简单介绍:Fragments之间是不能够直接通信的,他们之间的通信是通过Activity这个中间件来通信的, 为了让Fragment跟它的Activity通信,我们可以在Fra ...

  6. 【 Android 】ViewPager + TabLayout + Fragment 数据初始化问题

    在 ViewPager 和 Fragment 配合使用的时候,ViewPager 会使用预加载机制,使得我们在没有切换到到对应页面时,就已经加载好了,这是个非常不好的用户体验. 所以本示例项目就诞生了 ...

  7. android TabLayout设置选项卡之间的距离无效已解决

    根据下面的链接设置完距离后无法生效 https://www.jb51.net/article/131304.htm layout <com.google.android.material.tab ...

  8. 使用Android Support Design 控件TabLayout 方便快捷实现选项卡功能

    1.概述 TabLayout是在2015年的google大会上,google发布了新的Android Support Design库的新组件之一,以此来全面支持Material Design 设计风格 ...

  9. Android开发——Fragment的简单使用总结

    前言: 之前搞项目的时候,就使用了这个Fragment,中间遇到了许多坑,把坑都解决了,现在写一篇较为简单的Fragment使用总结 Fragment的简单介绍: 简单来说,Fragment其实可以理 ...

随机推荐

  1. 用redux-thunk异步获取数据

    概述 最近学习redux,打算用redux-thunk给todo添加异步获取数据组件.记录下来,供以后开发时参考,相信对其他人也有用. 注意: 在todo下方,我异步获取我的react博客的标题,点击 ...

  2. 谷歌浏览器怎么FQ(一)(想使用谷歌浏览器应用商城的小伙伴这边看)

    谷歌浏览器的应用商城里本身有很多不错的扩展程序和插件,比如Wappalyzer(能够识别某个网站用的什么框架和库)广告终结者(能屏蔽大部分浮动,弹窗,甚至视频广告)等 但是谷歌因为某些原因需要FQ以后 ...

  3. python --商品规格--表结构设计

    商品规格表结构设计 商品规格包括规格组合.规格项,规格项为规格组的成员. 规格组 |-规格项:规格值 |-规格项:规格值 规格组 |-规格项:规格值 |-规格项:规格值 同一类商品的规格相同. 方案一 ...

  4. Mac下命令行批量重命名

    日常中碰到需要批量修改文件名怎么办?嗯,来终端先 案例:将Users/case目录下所有html文件修改为php文件 步骤: 1.进入目标文件夹 $ cd Users/case 2.执行以下命令 $ ...

  5. JAVA中的糕富帅技术——反射(一)

    前言 突然发现好久没写博客了,前面写的都是关于Android的东西,今天心血来潮突然有一种冲动想写一篇基于JAVA技术的博客,别问我为什么?有钱.任性! 今天就来谈谈反射机制:学过JAVA的人不一定懂 ...

  6. table滑块

    我们做table时,常常想做一个滑块的移动效果,来让app显得更加生动,原理很简单,废话不说,直接上code public class AnimationActivity extends AppCom ...

  7. kdump内核转储

    目录 CentOS 7.5 配置Kdump 安装Kdump 安装Kdump图形化 配置保留内存 配置kdump类型 核心转储到本地 核心转储到设备 使用NFS指定核心转储 使用SSH指定核心转储 配置 ...

  8. LoadRuner12.53教程(二)

    使用HP Web访问示例应用程序 shǐ使   yòng用   H   P   W   e   b   fǎng访   wèn问   shì示   lì例   yìng应   yòng用   chén ...

  9. go runtime.Gosched()的作用分析

    untime.Gosched()用于让出CPU时间片.这就像跑接力赛,A跑了一会碰到代码runtime.Gosched()就把接力棒交给B了,A歇着了,B继续跑. 看代码: package main ...

  10. Structs+Spring+Hibernate快速入门

    Structs+Spring+Hibernate,这是很经典的一个搭配,它的开发流程也比较程式化,下面以用户注册为例.     注册页面代码: <%@page contentType=" ...