TabLayout+Viewpage滑动
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滑动相关推荐
- Android反射修改view,Android 修改viewpage滑动速度的实现代码
1.自定义Scroller public class ViewPageFixedSpeedScroller extends Scroller { private int mDuration = 300 ...
- TabLayout横排滑动
我以前有写过Tablayout横排滑动,不过相对有些幼稚,而且跟不上一些节奏了. 这个tablayout适合你滑动的相同布局不同数据的那种 像你如果tablayout滑动的每个页面差距特别的大这个就不 ...
- 解决ScrollView与ViewPage滑动冲突的问题
2019独角兽企业重金招聘Python工程师标准>>> <?xml version="1.0" encoding="utf-8"?> ...
- viewpage滑动查看图片并再有缩略图预览
首先看下效果图, 主要功能分为3大块 一是滑动查看,通过viewpage来实现,方法见 http://www.cnblogs.com/lovemo1314/p/6109312.html 二.点击放大 ...
- 安卓界面之Viewpager和Tablayout实现滑动界面
摘要:六部实现选项卡界面 一. 在gradle文件添加以下代码: implementation 'com.android.support:design:28.0.0' 在gradle文件添加以上代码后 ...
- Android自定义控件之RecyclerView打造万能ViewPager TabLayout(仿今日头条Tab滑动、Tab多布局、indicator蠕动、自定义indicator、文字颜色渐变)
文章目录 GitHub:https://github.com/AnJiaoDe/TabLayoutNiubility 该轮子特异功能如下: 使用方法 注意:该轮子适用于androidx中的ViewPa ...
- Android 自定义viewpage + videoview 实现竖屏视频播放效果
Android 自定义viewpage + videoview 实现竖屏视频播放效果 效果图 实现步骤 前提概要 自定义 viewpage 自定义 videoview 主逻辑代码 效果图 由于用的是v ...
- TabLayout自定义选择背景滑块
TabLayout是Android 的Material Design包中的一个控件,可以和V4包中的ViewPager搭配产生一个联动的效果.这里我自定义了一个滑块能够跟随TabLayout进行滑动选 ...
- 撸一把TabLayout+ViewPager
1.前言 其实我后面才知道TabLayout不仅仅可以和ViewPager配合,也可以用TabItem配合,但是我只是试了ViewPager.废话不多说,直接看图,这是一种类似UC浏览器样的标签和页面 ...
- 仿掌阅实现 TabLayout 切换时的字体和 Indicator 动画
文章目录 前言 分析 实现字体缩放动画 实现 Indicator 的长度变化动画 一.准备工作 二.让 TextView 撑满 TabView 三.实现滑动时 Indicator 的动画效果 写在最后 ...
最新文章
- ChIP-seq基本分析流程
- 四十三、深入Java中的数组流,数据流和对象流操作
- 报名 | “阳奉阴违”的半监督学习算法 - Virtual Adversarial Training
- 值更新事件(触发带基础属性到指定字段)
- 设计模式-Factory Method Pattern
- hibernate数据类型_Hibernate类型初学者指南
- ubuntu下安装jdk1.6.0_41
- 编写贩卖《和平精英》游戏外挂,5人被判刑;苹果推出轻App码;Firefox 84.0发布|极客头条...
- 整数的二进制表示中 1 的个数
- python time sleep 阻塞 异步_python 之 并发编程(进程池与线程池、同步异步阻塞非阻塞、线程queue)...
- 《高质量C编程指南》读后感
- JavaScript---去除字符串中的空格(五种方式,总有一种适合你)
- 测试能用的上的录屏软件 不喜勿喷
- 解决Ubuntu18.04搜狗输入法无法使用的问题
- 基于蚁群算法的图像边缘检测
- JetBrain注册学生免费帐号方法
- Hibernate的事务级别控制与查询对象的API(Query查询与Criterial查询+离线查询)
- js实现时间每秒更新
- MD5加密为什么不可逆?
- 用标准遗传算法求函数最大值