TabLayout横排滑动
我以前有写过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横排滑动相关推荐
- PullAndTab组合横排滑动上落下提
Tab的布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:andro ...
- 安卓界面之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 ...
- TabLayout自定义选择背景滑块
TabLayout是Android 的Material Design包中的一个控件,可以和V4包中的ViewPager搭配产生一个联动的效果.这里我自定义了一个滑块能够跟随TabLayout进行滑动选 ...
- 撸一把TabLayout+ViewPager
1.前言 其实我后面才知道TabLayout不仅仅可以和ViewPager配合,也可以用TabItem配合,但是我只是试了ViewPager.废话不多说,直接看图,这是一种类似UC浏览器样的标签和页面 ...
- 仿掌阅实现 TabLayout 切换时的字体和 Indicator 动画
文章目录 前言 分析 实现字体缩放动画 实现 Indicator 的长度变化动画 一.准备工作 二.让 TextView 撑满 TabView 三.实现滑动时 Indicator 的动画效果 写在最后 ...
- Android---TabLayout
目录 TabLayout TabItem 编辑 演示效果的xml TabLayout TabLayout 在开发中一般作为选项卡使用,常与 ViewPager2 和 Fragment 结合起来使用. ...
- 有赞个性化推荐能力的演进与实践
日前,由又拍云举办的大数据与 AI 技术实践|Open Talk 杭州站沙龙在杭州西溪科创园顺利举办.本次活动邀请了有赞.个推.方得智能.又拍云等公司核心技术开发者,现场分享各自领域的大数据技术经验和 ...
- 幻樱の安卓开发学习笔记(持续更新)
安卓开发手册Java . 前言 . 本篇博客是我在开发过程中遇到的一些问题,我将这些问题记录了下来,以防踩重复的坑,希望对需要学习或者来看我踩坑的人有所帮助. . . . . 零.一些常用的依赖 1. ...
最新文章
- 基于Sobel计算图像梯度图
- Spark详解(六):Spark集群资源调度算法原理
- delphi 程序运行时移动控件
- matlab基本运算实验报告,实验2 Matlab的基本运算实验报告
- 终极搜索 - Find 方法指南
- Composer更新慢的终极解决方案-转
- 你与产品经理之间差的才不只是一段代码!
- 完全开源的杀病毒软件ClamAV
- 第九章(二)DAG上的动态规划
- 【光学】(杨氏双缝+劈尖)干涉+(单缝+多缝+圆孔+矩孔)衍射仿真matlab源码含GUI
- Oracle怎么清除视图数据,Oracle删除视图
- mac 装java ecli_Eclipse下Maven安装和配置
- 不要让优秀的现有客户蒙蔽了你未来的客户
- Cesium3DTileset任意面裁剪,压平,水印效果
- 贪吃蛇之智能蛇的实现
- 如何使用 MQ 搞定秒杀场景
- 注意力机制详解系列(二):通道注意力机制
- 2018版 自考 计算机网络原理 04741 考试大纲
- 多功能按键的实现方法,单击,双击,三击,短按,长按
- T型整流电路matlab simulink仿真模型 三电平整流电路 电动汽车充电电路