我以前有写过Tablayout横排滑动,不过相对有些幼稚,而且跟不上一些节奏了。
这个tablayout适合你滑动的相同布局不同数据的那种
像你如果tablayout滑动的每个页面差距特别的大这个就不适合你了,因为它的布局是死的。
推荐网址:http://blog.csdn.net/Yw59792649/article/details/78923060
首先是导入依赖

compile 'com.android.support:design:23.3.0'

在导入依赖方面可要注意如果你的appcompat版本过高可能会报

android.support.v7.widget.TintManager

如果出现这个错误可要适当的降低你的依赖。
废话不多说上代码
先说布局吧
activity

<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"xmlns:app="http://schemas.android.com/apk/res-auto"android:orientation="vertical"><android.support.design.widget.TabLayoutandroid:id="@+id/main_tab"android:layout_width="match_parent"android:layout_height="wrap_content"app:tabSelectedTextColor="@android:color/white"app:tabTextColor="#000000"app:tabIndicatorColor="#FF4081"app:tabGravity="fill"app:tabBackground="@android:color/holo_blue_bright"></android.support.design.widget.TabLayout><android.support.v4.view.ViewPagerandroid:id="@+id/main_viewPager"android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"></android.support.v4.view.ViewPager></LinearLayout>

fragment

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/fragment_ll"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"android:fitsSystemWindows="true"android:gravity="center"><TextView
        android:id="@+id/fragment_textView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="20sp"android:textColor="@android:color/white"android:text="Tab1"/></LinearLayout>

ViewpagerFragment

public class ViewpagerFragment extends Fragment {private int mTitle;private int mColor;private TextView mTextView;private LinearLayout mLinear;public static ViewpagerFragment newInstance(int title,int color){ViewpagerFragment fragment=new ViewpagerFragment();Bundle bundle=new Bundle();bundle.putInt("title",title);bundle.putInt("color",color);fragment.setArguments(bundle);return  fragment;}@Overridepublic void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);mTitle=getArguments().getInt("title");mColor=getArguments().getInt("color");}@Nullable@Overridepublic View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {View view=inflater.inflate(R.layout.fragment_layout,container,false);mTextView= (TextView) view.findViewById(R.id.fragment_textView);mTextView.setText("Page"+(mTitle+1));mLinear= (LinearLayout) view.findViewById(R.id.fragment_ll);mLinear.setBackgroundResource(mColor);return view;}}

MyAdapter

public class MyAdapter extends FragmentPagerAdapter {private int mCount=3;private int[] mColors=new int[]{android.R.color.holo_orange_dark,android.R.color.holo_green_dark,android.R.color.holo_red_dark};public MyAdapter(FragmentManager fm) {super(fm);}@Overridepublic Fragment getItem(int position) {return  ViewpagerFragment.newInstance(position,mColors[position]);}@Overridepublic int getCount() {return mCount;}@Overridepublic CharSequence getPageTitle(int position) {return "Page"+(position+1);}}

activity

    private ViewPager mViewPager;private TabLayout mTabLayout;private MyAdapter mAdapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.activity_main);mAdapter=new MyAdapter(getSupportFragmentManager());mViewPager=  findViewById(R.id.main_viewPager);mViewPager.setAdapter(mAdapter);mTabLayout=  findViewById(R.id.main_tab);//将ViewPager与TabLayout进行关联mTabLayout.setupWithViewPager(mViewPager);//设置是固定的,还可以设置为TabLayout.MODE_SCROLLABLE,//可滚动的,用于多个TabmTabLayout.setTabMode(TabLayout.MODE_FIXED);}

TabLayout横排滑动相关推荐

  1. PullAndTab组合横排滑动上落下提

    Tab的布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:andro ...

  2. 安卓界面之Viewpager和Tablayout实现滑动界面

    摘要:六部实现选项卡界面 一. 在gradle文件添加以下代码: implementation 'com.android.support:design:28.0.0' 在gradle文件添加以上代码后 ...

  3. Android自定义控件之RecyclerView打造万能ViewPager TabLayout(仿今日头条Tab滑动、Tab多布局、indicator蠕动、自定义indicator、文字颜色渐变)

    文章目录 GitHub:https://github.com/AnJiaoDe/TabLayoutNiubility 该轮子特异功能如下: 使用方法 注意:该轮子适用于androidx中的ViewPa ...

  4. TabLayout自定义选择背景滑块

    TabLayout是Android 的Material Design包中的一个控件,可以和V4包中的ViewPager搭配产生一个联动的效果.这里我自定义了一个滑块能够跟随TabLayout进行滑动选 ...

  5. 撸一把TabLayout+ViewPager

    1.前言 其实我后面才知道TabLayout不仅仅可以和ViewPager配合,也可以用TabItem配合,但是我只是试了ViewPager.废话不多说,直接看图,这是一种类似UC浏览器样的标签和页面 ...

  6. 仿掌阅实现 TabLayout 切换时的字体和 Indicator 动画

    文章目录 前言 分析 实现字体缩放动画 实现 Indicator 的长度变化动画 一.准备工作 二.让 TextView 撑满 TabView 三.实现滑动时 Indicator 的动画效果 写在最后 ...

  7. Android---TabLayout

    目录 TabLayout TabItem ​编辑 演示效果的xml TabLayout TabLayout 在开发中一般作为选项卡使用,常与 ViewPager2 和 Fragment 结合起来使用. ...

  8. 有赞个性化推荐能力的演进与实践

    日前,由又拍云举办的大数据与 AI 技术实践|Open Talk 杭州站沙龙在杭州西溪科创园顺利举办.本次活动邀请了有赞.个推.方得智能.又拍云等公司核心技术开发者,现场分享各自领域的大数据技术经验和 ...

  9. 幻樱の安卓开发学习笔记(持续更新)

    安卓开发手册Java . 前言 . 本篇博客是我在开发过程中遇到的一些问题,我将这些问题记录了下来,以防踩重复的坑,希望对需要学习或者来看我踩坑的人有所帮助. . . . . 零.一些常用的依赖 1. ...

最新文章

  1. 基于Sobel计算图像梯度图
  2. Spark详解(六):Spark集群资源调度算法原理
  3. delphi 程序运行时移动控件
  4. matlab基本运算实验报告,实验2 Matlab的基本运算实验报告
  5. 终极搜索 - Find 方法指南
  6. Composer更新慢的终极解决方案-转
  7. 你与产品经理之间差的才不只是一段代码!
  8. 完全开源的杀病毒软件ClamAV
  9. 第九章(二)DAG上的动态规划
  10. 【光学】(杨氏双缝+劈尖)干涉+(单缝+多缝+圆孔+矩孔)衍射仿真matlab源码含GUI
  11. Oracle怎么清除视图数据,Oracle删除视图
  12. mac 装java ecli_Eclipse下Maven安装和配置
  13. 不要让优秀的现有客户蒙蔽了你未来的客户
  14. Cesium3DTileset任意面裁剪,压平,水印效果
  15. 贪吃蛇之智能蛇的实现
  16. 如何使用 MQ 搞定秒杀场景
  17. 注意力机制详解系列(二):通道注意力机制
  18. 2018版 自考 计算机网络原理 04741 考试大纲
  19. 多功能按键的实现方法,单击,双击,三击,短按,长按
  20. T型整流电路matlab simulink仿真模型 三电平整流电路 电动汽车充电电路

热门文章

  1. 如何从NOAA下载中国测站水文数据
  2. 2021年香河一中高考成绩查询,香河一中高考成绩
  3. RabbitMQ客户端说明
  4. php用重写算出圆柱体的体积,枚举测试用例Cylinder(圆柱体)(枚举)
  5. java 推箱子游戏 简单例子
  6. 来自面试官的41道 SpringBoot 面试题
  7. eclipse油藏数值模拟器的文件读写c/c++算法库libecl的使用学习1
  8. 硬盘格式转换(MBR/GPT)
  9. 从 APNIC 提取IP地址信息
  10. xshell查询日志命令_Xshell查看服务器日志