android tab 切换动画,Android之ViewPager+TabLayout组合实现导航条切换效果(微信和QQ底部多标签切换)...

2023-11-10

前言

之前在另外一篇中用Fragment和button实现了点击切换Fragment的效果,比较简陋。这次改用ViewPager+TabLayout 实现联动的效果。

实现效果

ViewPager 多个页面滑动

TabLayout 和 ViewPager绑定,实现Fragment和标签绑定

TabLayout的自定义标签以及选中颜色改变

效果图

c4892496e0fd?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

效果图

思路分析

ViewPager用来放Fragment,并且实现滑动的效果。(原谅我最近才知道这个控件,所以才会有上一篇用Fragment+Button来实现切换。PS:经常百度copy的后遗症┗( T﹏T )┛)

TabLayout 用来放Fragment对应标题。标题只是文字话,需要重写FragmentPagerAdapter的getPageTitle()方法来获取标题,如果要用图标或者复杂的标题可以用TabLayout的setCustomView()将自定义控件放入Tab中。

通过TabLayout的setupWithViewPager()方法来实现TabLayout和ViewPager联动。

布局文件

activity_tab_layout_custom_title.xml

主界面布局文件包含一个ViewPager和一个TabLayout

xmlns:app="http://schemas.android.com/apk/res-auto"

android:background="#FFFFFF"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical">

android:id="@+id/contextViewPager"

android:layout_width="match_parent"

android:layout_height="0px"

android:layout_weight="1">

android:id="@+id/tabLayout"

android:layout_width="match_parent"

android:layout_height="58dp"

app:tabMinWidth="80dp"

app:tabIndicatorColor="#0000000

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android tab 切换动画,Android之ViewPager+TabLayout组合实现导航条切换效果(微信和QQ底部多标签切换)... 的相关文章

  • 利用commands模块执行Linux shell命令

    利用commands模块执行Linux shell命令 用Python写运维脚本时 经常需要执行linux shell的命令 Python中的commands模块专门用于调用Linux shell命令 并返回状态和结果 下面是command
  • umask命令

    命令格式 umask 模式 说明 创建文件或目录时的掩码 文件创建的权限默认为666 umask 而目录创建的权限是用777 umask 为什么文件和目录创建时候指定的权限不一样 因为666是777减去了文件的执行权限 也就是用777 11
  • IO网络编程面试题(2022)

    IO 网络编程 1 什么是 IO IO的定义 IO用于实现对数据的输入和输出操作 流是从起源到接受的有序数据 2 常用的 IO 类有哪些 1 字节流 FileInputStream FileOutputStream 2 字符流 FileRe
  • 解决pip install --upgrade pip 升级不成功

    问题描述 使用pip安装第三方模块的时候 提示我pip版本过低WARNING You are using pip version 21 0 1 however version 21 1 1 is available You should c
  • Nvidia TX2 刷机教程 JetPack-L4T-3.0-linux-x64.run

    前言 本教程特别针对刷机被墙的朋友 如果没有被墙 其实按照官方文档一步一步操作就行 这期间我参考了特别多的网页 也去nvidia官方论坛问过 其实截止到2019年2月16日 jetpack3 3 是可以很轻松的被装上的 主要是3 0被墙 而
  • 1. Python的特性和语法

    千里之行始于足下 大家好 我是茶桁 这里是我们 AI秘籍 的第一节 让我们先从Python来开始好好的打好基础 第一堂课 我们先从最基础的Python特性开始 当然 还有一些基本语法 上来就开始讲特性和语法 说明我们将会遗弃惯用的 环境搭建
  • java 获取linux mac_java工具类,在Windows,Linux系统获取电脑的MAC地址、本地IP、电脑名...

    packagecom cloudssaas util importjava io BufferedReader importjava io IOException importjava io InputStreamReader import
  • abc计算机机房建设标准,ABC级数据中心机房建设要求

    ABC级数据中心机房建设要求 由会员分享 可在线阅读 更多相关 ABC级数据中心机房建设要求 7页珍藏版 请在人人文库网上搜索 1 ABC级数据中心机房建设要求一 根据数据中心机房最新设计规范GB50174 2008电子信息系统机房设计规范
  • 图像处理之高斯混合模型

    一 高斯混合模型 现有的图像中目标的分类常用深度学习模型处理 但是深度学习需要大量模型处理 对于明显提取的目标 常常有几个明显特征 利用这几个明显特征使用少量图片便可以完成图像目标分类工作 这里介绍使用高斯混合模型GMM处理图像 二 步骤
  • Python数据分析学习路径图 #CSDN博文精选# #IT技术# #学习路线# #系统化学习# #python#

    大家好 我是小C 又见面啦 文章过滤器 精选大咖干货 助力学习之路 5天20篇CSDN精选博文带你掌握系统化学习方法 专栏将挑选有关 系统化学习方法 的20篇优质文章 帮助大家掌握更加科学的学习方法 在这里 你将收获 快速掌握系统化学习的理
  • springboot框架在页面和postman访问可以debug进入方法,但是接收方接收到是404的问题

    重要性 在使用注解开发的过程中 如果遇到接口能够debug进去 但是接收方接到的是404 导致这种结果的原因是 restController 和 Conroller 这两个注解的导致的 RestController注解相当于 Respons
  • python 第三方库之openpyxl

    一次偶然的机会知道这个第三方库 然后看官方文档 在此记录下我的学习笔记 1 openpyxl openpyxl 是一个第三方库 可以读写excel 文件 2 安装 pip3 install openpyxl 3 如果你的excel文件中包含
  • 命令行程序选项解析函数—getopt

    转载请注明出处 http blog csdn net zhangyang0402 archive 2010 06 14 5671410 aspx 命令行工具下的参数选项有两种 长选项和短选项 短选项以 开头 后面跟单个字母 长选项以 开头
  • LeetCode 160. 相交链表

    题目链接 https leetcode cn problems intersection of two linked lists 思路如下 如果把这两个链表拼接在一起 那么拼接后的两个总链表长度相同 初始 让 pA 指向 headA pB
  • python 离群值_python:删除离群值操作(每一行为一类数据)

    删除有多行字符串的json文件中的离群值 def processhold eachsubject directory newfile filename cmudatacol hold subject 0 json format eachsu
  • 在Unity 5中如何控制检视面板上的属性是否显示?

    当脚本中有大量属性或字段需要在检视面板中调整时 检视面板会变得杂乱无章 有没有什么办法可以自己来管理这些属性是否显示呢 本文就为大家介绍无需自定义检视面板来管理属性显示的方法 首先介绍HeaderAttributes的用法 让大家对控制检视
  • CUDA编译过程

    流程 将test cu代码进行分离 利用cudafe exe 去分离CPU代码和GPU代码 我们可以在生成的中间文件可以看到test cudafe1 cpp和test cudafe1 gpu cicc exe 将根据编译选项 arch co
  • Flutter自定义折线图并添加点击事件

    本篇文章已授权微信公众号 guolin blog 郭霖 独家发布 前言 最近用Flutter做了一个天气类的app 我也是新手 对flutter理解还不是很深入 但是开发过程中的编程思想给了我很大的启发 Dart语言特性很优秀 单线程模型
  • 真正帮你实现—MapReduce统计WordCount词频,并将统计结果按出现次数降序排列

    项目整体介绍 对类似WordCount案例的词频统计 并将统计结果按出现次数降序排列 网上有很多帖子 均用的相似方案 重写某某方法然后 运行起来可能会报这样那样的错误 这里实现了一种解决方案 分享出来供大家参考 编写两个MapReduce程

随机推荐