【Flutter】微信项目实战【07】 通讯录界面搭建(下)
1. 写在前面
在上篇文章中已经对微信通讯录
界面进行了列表部分,包括组头的设置、怎么显示隐藏合并组的代码实现,那么今天就继续来写微信实战项目的通讯录
界面最复杂的索引条部分!
2. 页面布局
首先索引条是在列表之上的,也就是布局来说是悬浮的,那么我们可以使用Stack
来布局,然后在封装一个索引条IndexBar
。
3. 索引条封装
索引条是需要改变状态的,索引我们使用StatefulWidget
,方便后续的状态的改变,以根据状态的改变来改变列表的显示。索引是由两部分组成的:
指示器
:就是拖动索引条,前面的放大器部分,里面显示对应的索引字母。索引条
:显示分组的名称字母,这个要根据鼠标的移动,来改变指示器的位置和显示的文字。
大致的代码布局如下所示:
索引条是悬浮的,所以需要定位它的位置,这里使用Positioned
来定位。这里设置索引条的高度是屏幕高的一半,距离屏幕的顶部距离是屏幕高度的八分之一,宽度为 120。
3.1 指示器
指示器这里和索引条是一体的,只是改变一下位置就可以了。
//指示器Container(alignment: Alignment(0,_indicatorY),width: 100,// color: Colors.red,child: _indicatorHidden?null:Stack(alignment: const Alignment(-0.2,0),children: [const Image(image: AssetImage("images/气泡.png"),width: 60,),Text(_indicatorText,style: const TextStyle(fontSize: 18,color: Colors.white),)],),),
这里指示器外面是用Container
包裹,里面是使用了Stack
来包裹一个放大镜
【Flutter】微信项目实战【07】 通讯录界面搭建(下)相关推荐
- Vue整合SpringBoot项目实战之Vue+Element-Ui搭建前端项目
Vue整合SpringBoot项目实战之Vue+Element-Ui搭建前端项目 源码(欢迎star): 前端项目代码 后端项目代码 系列文章: Vue整合SpringBoot项目实战之后端业务处理 ...
- Flutter商城项目实战(商品分类)
Flutter是Google(全球顶级互联网科技公司)的生的,后台够硬,毫无疑问Flutter即将或已经成为跨平台开发的主流,Flutter野心很大,不仅冲击着原生开发,而且很有可能会烧到Web前端. ...
- 【SSH网上商城项目实战】之环境搭建填坑
此篇主要是记录我在从零开始走一遍倪升武大神的[SSH网上商城项目实战]过程中遇到的一些坑并记录解决方法.关于这个项目,大家可以去倪升武的博客学习了解,SSH网上商城项目实战请戳倪升武的项目实战专题. ...
- .net core项目实战之开发环境搭建
在上一篇[.net core项目实战之回顾总结]主要介绍了项目背景和自己的一些想法,从本篇开始正式叙述整个开发过程,本篇主要介绍一下开发前的环境准备,vs2017和docker的安装与配置 系统要求 ...
- Flutter企业级项目实战——博时App
| 前言 在当前大前端愈演愈烈的情况下,前有大名鼎鼎的QT.Facebook的RN.阿里的Weex,后有不断追赶的Flutter及原生+H5混合开发,大家都想要在跨平台这碗饭上夺取饭碗.在这种趋势下, ...
- 未明学院:量化金融项目实战,成为FinTech风口下掌握数据分析技能的复合型人才!
金融科技(FinTech)的风口下,想进入核心岗位找到自己的机会,在这个风口中起飞,却不懂数据和编程?你正在失去机会-- 1. 金融行业中数据和python技能的重要性 金融行业天然要跟数据打交道,它 ...
- 08_EMS项目之需求分析与界面搭建
文章目录 EMS企业员工管理系统 EMS界面环境搭建 EMS显示已有的员工信息 博文配套视频课程:24小时实现从零到AI人工智能 EMS企业员工管理系统 通过一个系统级别的案例,把之前所学习的知识点条 ...
- vue.js+koa2项目实战(四)搭建koa2服务端
搭建koa2服务端 安装两个版本的koa 一.版本安装 1.安装 koa1 npm install koa -g 注:必须安装到全局 2.安装 koa2 npm install koa@2 -g 二. ...
- iWebShop 电商项目实战001----测试环境搭建(上)
WAMP环境搭建 一.简要说明 WAMP: windows + apache + mysql + php 二.配置清单 Windows 10 专业版 Xampp 7.4.5 iWebshop 5.8 ...
- 【SSH网上商城项目实战07】Struts2和Json的整合
上一节我们完成了DataGrid显示jason数据,但是没有和后台联系在一起,只是单纯地显示了我们自己弄的json数据,这一节我们将json和Struts2整合,打通EasyUI和Struts2之间的 ...
最新文章
- 经常可能会用到的【函数节流和函数防抖】记录下,做下区分
- 282021年高考成绩查询方法,往年高考成绩怎么查询 查询成绩的方法
- JavaScript解析顺序和变量作用域
- c++读取图片_Pytorch读取,加载图像数据(一)
- 水题:P2799 国王的魔镜
- Unity中使用RequireComponent,没有添加上组件
- maya如何导出ue4_Maya建模师分享干货的时间到啦,教你用UE4如何导入动画
- 【dfs+理解题意+构造】【待重做】codeforces E. Ice cream coloring
- android7开发问题,Android开发问题总结(一)
- 虚拟化--062 vsphere workstation bios启动
- Web API 2 入门——使用Web API与ASP.NET Web窗体(谷歌翻译)
- DC、HDC和CDC的区别及MFC常见类的作用
- 计算机入门认识图标,初学UI设计如何了解ICON图标的用处
- 推荐几款网页幻灯片js库
- 网吧服务器维护工具,某某网吧专用维护工具(网吧维护管理助手)V5.1 最新版
- 360千兆路由计算机安装方法,千兆路由器怎么安装?
- echart获取geoJson格式世界各国地图的资源,世界地图,世界各国分区显示,精确到乡镇一级资源
- 获取网页视频,日常下载工具推荐——XDM
- Ubuntu 18.04 网口创建网络共享
- 微信小程序接入环信客服
热门文章
- 在vue 中使用Stylus
- [2017.3.29]中国生育腚理不互质
- Windows系统下将目录挂载为一个磁盘并分配盘符
- 深入解析字符串的比较方法:“==”操作符;String.Equals方法;String.Compare方法;String.CompareOrdinal方法。...
- 乐在其中设计模式(C#) - 迭代器模式(Iterator Pattern)
- 『原创·翻译』如何阅读论文
- 看老友记_马云对话周星驰
- .NET中的数据结构——表
- DataMining with Sql 2005
- 数据分析之 pandas