1.主页面布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".activity.CouponUserActivity"><com.google.android.material.tabs.TabLayoutandroid:id="@+id/tab_coupon"android:layout_width="match_parent"android:layout_height="wrap_content" /><androidx.viewpager.widget.ViewPagerandroid:id="@+id/vp_coupon"android:layout_width="match_parent"android:layout_height="match_parent" /></LinearLayout>

2.主Activity逻辑

public class CouponUserActivity extends BaseAppCompatActivity {@BindView(R.id.webview_title_text)TextView webviewTitleText;@BindView(R.id.tab_coupon)TabLayout tabCoupon;@BindView(R.id.vp_coupon)ViewPager vpCoupon;private List<Fragment> pages;//页面集合private List<String> tabTitles;//页卡标题集合private FragTitlePagerAdap pagerAdap;@Overrideprotected int getContentLayout() {return R.layout.activity_coupon_user;}@Overrideprotected void initGui() {tabCoupon.setSelectedTabIndicatorColor(Constant.getMaincolor());webviewTitleText.setText("优惠券");tabTitles = new ArrayList<>();tabTitles.add("全部");tabTitles.add("未使用");tabTitles.add("已使用");pages = new ArrayList<>();pages.add(new CouponFragment());pages.add(new Coupon2Fragment());pages.add(new Coupon3Fragment());tabCoupon.setTabMode(TabLayout.MODE_FIXED);tabCoupon.addTab(tabCoupon.newTab().setText(tabTitles.get(0)));tabCoupon.addTab(tabCoupon.newTab().setText(tabTitles.get(1)));tabCoupon.addTab(tabCoupon.newTab().setText(tabTitles.get(2)));FragmentManager manager = getSupportFragmentManager();pagerAdap = new FragTitlePagerAdap(manager, pages, tabTitles);tabCoupon.setTabsFromPagerAdapter(pagerAdap);//给Tabs设置适配器vpCoupon.setAdapter(pagerAdap);//给ViewPager设置适配器tabCoupon.setupWithViewPager(vpCoupon);//将TabLayout和ViewPager关联起来。}@Overrideprotected void initAction() {}@Overrideprotected void initData() {}}

3.FragTitlePagerAdap

public class FragTitlePagerAdap extends FragmentPagerAdapter {private List<Fragment> pages;private List<String> titles;public FragTitlePagerAdap(FragmentManager fm, List<Fragment> pages) {super(fm);this.pages = pages;}public FragTitlePagerAdap(FragmentManager fm, List<Fragment> pages, List<String> titles) {super(fm);this.pages = pages;this.titles = titles;}public void setPages(List<Fragment> pages) {this.pages = pages;notifyDataSetChanged();}@Overridepublic int getCount() {return (pages != null && pages.size() > 0) ? pages.size() : 0;}@Overridepublic Fragment getItem(int position) {return pages.get(position);}@Overridepublic CharSequence getPageTitle(int position) {return titles.get(position);//页卡标题}}

TabLayout+Viewpage滑动相关推荐

  1. Android反射修改view,Android 修改viewpage滑动速度的实现代码

    1.自定义Scroller public class ViewPageFixedSpeedScroller extends Scroller { private int mDuration = 300 ...

  2. TabLayout横排滑动

    我以前有写过Tablayout横排滑动,不过相对有些幼稚,而且跟不上一些节奏了. 这个tablayout适合你滑动的相同布局不同数据的那种 像你如果tablayout滑动的每个页面差距特别的大这个就不 ...

  3. 解决ScrollView与ViewPage滑动冲突的问题

    2019独角兽企业重金招聘Python工程师标准>>> <?xml version="1.0" encoding="utf-8"?> ...

  4. viewpage滑动查看图片并再有缩略图预览

    首先看下效果图, 主要功能分为3大块 一是滑动查看,通过viewpage来实现,方法见 http://www.cnblogs.com/lovemo1314/p/6109312.html 二.点击放大 ...

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

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

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

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

  7. Android 自定义viewpage + videoview 实现竖屏视频播放效果

    Android 自定义viewpage + videoview 实现竖屏视频播放效果 效果图 实现步骤 前提概要 自定义 viewpage 自定义 videoview 主逻辑代码 效果图 由于用的是v ...

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

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

  9. 撸一把TabLayout+ViewPager

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

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

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

最新文章

  1. ChIP-seq基本分析流程
  2. 四十三、深入Java中的数组流,数据流和对象流操作
  3. 报名 | “阳奉阴违”的半监督学习算法 - Virtual Adversarial Training
  4. 值更新事件(触发带基础属性到指定字段)
  5. 设计模式-Factory Method Pattern
  6. hibernate数据类型_Hibernate类型初学者指南
  7. ubuntu下安装jdk1.6.0_41
  8. 编写贩卖《和平精英》游戏外挂,5人被判刑;苹果推出轻App码;Firefox 84.0发布|极客头条...
  9. 整数的二进制表示中 1 的个数
  10. python time sleep 阻塞 异步_python 之 并发编程(进程池与线程池、同步异步阻塞非阻塞、线程queue)...
  11. 《高质量C编程指南》读后感
  12. JavaScript---去除字符串中的空格(五种方式,总有一种适合你)
  13. 测试能用的上的录屏软件 不喜勿喷
  14. 解决Ubuntu18.04搜狗输入法无法使用的问题
  15. 基于蚁群算法的图像边缘检测
  16. JetBrain注册学生免费帐号方法
  17. Hibernate的事务级别控制与查询对象的API(Query查询与Criterial查询+离线查询)
  18. js实现时间每秒更新
  19. MD5加密为什么不可逆?
  20. 用标准遗传算法求函数最大值

热门文章

  1. 微擎使用腾讯地图拾取坐标
  2. 百度地图API 拾取坐标
  3. Oracle优化的几个简单步骤
  4. matlab 泊松分布作图,matlab用一组数据画泊松分布图
  5. 你技术这么好,总要改变点什么把!
  6. 性能分析工具Systrace的使用详解
  7. Java 接入 cachecloud 入门
  8. android第三方库进程,Android 第三方库AgentWeb的使用
  9. 人脸对齐—级联回归模型和深度学习模型
  10. 0204UNIFORM SIZE=10M?index?insert分裂