题记
—— 执剑天涯,从你的点滴积累开始,所及之处,必精益求精。


Flutter是谷歌推出的最新的移动开发框架。

【x1】微信公众号的每日提醒 随时随记 每日积累 随心而过 文章底部扫码关注

【x2】各种系列的视频教程 免费开源 关注 你不会迷路

【x3】系列文章 百万 Demo 随时 复制粘贴 使用

如下图所示,默认情况下使用 TabBar来实现的标签栏,是有点击水波纹效果以及使用的默认配置的背景颜色。

而在 App 开发的很多默认的使用场景中,多多少少是满足不了我们的需要的,如下图修改后的颜色效果。

1 测试 Demo 中 TabBar 应用在 AppBar 中

页面的主结构是通过 Scaffold 来搭建的,通过 TabBar 与 TabBarView 联动实现的效果。

class TestTabBarHomePage extends StatefulWidget {@overrideState<StatefulWidget> createState() {return SliderHomePageState();}
}class SliderHomePageState extends State with SingleTickerProviderStateMixin {///Tab 与 TabView 联动使用的控制器TabController tabController;//当前显示页面的int currentIndex = 0;//点击导航项是要显示的页面final pages = [Text("首页"), Text("发现"), Text("动态"), Text("我的")];@overridevoid initState() {///初始化,这个函数在生命周期中只调用一次super.initState();tabController = new TabController(length: pages.length, vsync: this);}@overrideWidget build(BuildContext context) {return new Scaffold(appBar: AppBar(title: Text("测试 Tab "),bottom: buildPreferredSize(),),body: new TabBarView(controller: tabController, children: pages),);}... ...
}

AppBar 的bottom 需要接收一个 PreferredSizeWidget 类型的组件,TabBar 就是继承于此,不过在这里 使用到了 PreferredSize ,这样的好处是我们可以在 AppBar 的bottom 使用其他任意的组件:

  PreferredSize buildPreferredSize() {return PreferredSize(preferredSize: Size(0, 84),child: buildTabBar(),//child: buildTheme(),);}
  Widget buildTabBar() {return new TabBar(controller: tabController,tabs: <Tab>[new Tab(text: "首页", icon: new Icon(Icons.home)),new Tab(text: "发现", icon: new Icon(Icons.find_in_page)),new Tab(text: "动态", icon: new Icon(Icons.message)),new Tab(text: "我的", icon: new Icon(Icons.person)),],indicatorWeight: 0.1,);}

这样使用的 TabBar 是使用了默认配置的主题中的点击相关的颜色,如果需要修改,需要结合 Theme 来做。

2 通过 Theme 来个性 TabBar 的颜色

  Theme buildTheme() {return Theme(data: ThemeData(///默认显示的背景颜色backgroundColor: Colors.blue[500],///点击的背景高亮颜色highlightColor: Colors.blueGrey[600],///点击水波纹颜色splashColor: Color.fromRGBO(0, 0, 0, 0),),child: new TabBar(controller: tabController,tabs: <Tab>[new Tab(text: "首页", icon: new Icon(Icons.home)),new Tab(text: "发现", icon: new Icon(Icons.find_in_page)),new Tab(text: "动态", icon: new Icon(Icons.message)),new Tab(text: "我的", icon: new Icon(Icons.person)),],indicatorWeight: 0.1,),);}

以小编的性格,要实现百万Demo随时复制粘贴肯定是需要源码的

完整源码在这里

当然以小编的性格,肯定是要有视频录制的,目前正在录制中,你可以关注一下 西瓜视频 — 早起的年轻人 随后会上传

Flutter TabBar 标签栏背景颜色、点击水波纹颜色配置相关推荐

  1. Flutter 点击水波纹 效果

    FlatButton 原本已经包含了 点击水波纹 效果 不过目前已经弃用,由TextButton 代替,但 TextButton 的效果感觉没有 FlatButton 的好,另外 MaterialBu ...

  2. Android点击水波纹扩散效果整理(附带一个自定义的水波纹效果控件)

    很久很久没有写博客了,说来也有点惭愧.正好最近整理自己的项目工程目录,看到一些值得分享的控件,准备在之后的几篇博客中准备把它们陆续搬运上来. 这篇博客准备整理一下Android Material De ...

  3. android水波纹点击动画,android 控件点击水波纹效果的几种方案

    目前我所知道的至少有三种可以实现点击水波纹的效果 第一种:安卓自带的方法 在安卓中有自带的一种属性,可以实现水波纹的效果,就是在所需要点击的控件属性加上如下代码: android:background ...

  4. android水波纹动画制作,Framer之事件 | 如何制作安卓点击水波纹效果?

    之前的 Framer 教程都是按照个人喜好去写的,没有按照难易程度形成系列.为了让大家能更好地入门,我准备由易到难写一个系列教程,尽量保持在每周一篇的频率. 导读:事件是 Framer 中的一个重要概 ...

  5. html实现鼠标移动波纹效果,js实现拖动滑块和点击水波纹效果

    本篇文章就给大家介绍js实现拖动滑块效果和点击水波纹效果的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助. 拖动滑块效果: 先看看效果图: Document input[type ...

  6. 点击水波纹效果html5,使用CSS实现逼真的水波纹点击效果

    这篇文章特别介绍如何使用CSS来完成水波纹的效果. div的层层叠叠 虽然webkit具有遮罩的能力(webkit mask),不过webkit虽然强大,但在跨浏览器上总是它的罩门,况且在性能上也是往 ...

  7. Android-View点击水波纹特效

    文章目录 1 有界形式 2 无界形式 注:在Android 5.0版本以上使用 1 有界形式 在布局中加入以下代码: android:clickable="true" androi ...

  8. Flutter Ink,InkWell,InkResponse水波纹实现(2.3)

    此篇给大家介绍的是水波纹实现的方法,说起水波纹,如果要在android实现是有点困难的,可是在flutter中只需要用到Ink组件即可完美的实现,接下来就是对Ink组建的简单介绍啦~ InkWell和 ...

  9. Android 水波纹点击效果(Ripple Effect)

    本文介绍的是Android5.0中其中一个炫酷的效果,点击水波纹扩散效果(Ripple Effect). 以下介绍的实现方式都是调用Android5.0的新API,并非自定义实现,所以只支持在Andr ...

最新文章

  1. 8.Spring Security 权限控制
  2. 尸鬼封尽の覆盖源码 管你什么鬼一招解决
  3. IX1000系统信息收集
  4. OSPF分解试验部分-LAB3:OSPF各种网络类型试验
  5. jittor和pytorch生成网络对比之ebgan
  6. 基于AI的便携式神经假肢让截肢14年患者操作自如,高精度、低延迟
  7. php导出照片,TP5导出excel图片和数据--先下载图片到本地服务器
  8. spring版本 jdk8_从JDK8升级到JDK11,看这篇就足够了
  9. 水文特点是什么意思_水文监测仪器设备简介
  10. linux下gpasswd命令
  11. python如何并发上千个get_Python拓展21(python3X之百万并发借鉴)
  12. c++ 协程_深入理解异步I/O+epoll+协程
  13. Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile 解决办法
  14. Android 超级工具类
  15. 从0开始使用Git:Win10下使用Git配置并关联Gitbub远程仓库全教程与踩坑分析
  16. BM46 最小的K个数
  17. 让老照片重现光彩:Bringing Old Photos Back to Life(实战)
  18. python子列表_关于python:创建子列表
  19. 位运算(异或、左移、右移)的运算规则
  20. win7系统如何关闭安全模式,关闭安全模式的方法

热门文章

  1. CVPR2020 夜间目标检测挑战赛冠军方案解读
  2. 百度大脑公开课:快速定制、部署高精度深度学习模型!
  3. 文末送书 | 高级机器学习范式——终身机器学习
  4. 在Python3里有的变量前面有个*号,或许你不知道,没关系,看文
  5. 【python教程入门学习】python基础语法
  6. 还在修改博士论文?这份《博士论文写作技巧》为你指南
  7. 2019年北京高校毕业生就业质量状况:四成博士去了高校
  8. 数据结构(十六)多源最短路径
  9. directx修复工具v3.2增强版_微PE v2.0维护盘增强版万能启动盘20200726
  10. Centos7 防火墙开启端口