flutter下拉列表

下拉列表

内容和下拉列表的标题均可滑动

Expanded: 内容限制组件,将其子类中的无限扩展的界面限制在一定范围中。在此使用,是为了防止下拉列表中的内容超过了屏幕限制。

SingleChildScrollView: 这个组件,从名字中可以看出来,不必多说,是可以控制的滑动组件,并且是其系统自带的

ExpansionTile: 这个就是系统自带的下拉列表组件,title中展示下拉列表的标题,children[ ] 中展示下拉列表的内容。

 Expanded(child: SingleChildScrollView(	//滑动组件child: ExpansionTile(	title: Text(		//下拉列表的标题"详细信息",style: TextStyle(fontWeight: FontWeight.bold, fontSize: ScreenUtil().setSp(32)),),children: [  //下拉列表中的内容Container(padding: EdgeInsets.only(left: 30, right: 20, bottom: 10),child: _patientinfo()),Container(padding: EdgeInsets.only(left: 30, right: 20, bottom: 10),child: _vitalsign(),),Container(padding: EdgeInsets.only(left: 30, right: 20, bottom: 20),child: _inspect(),),Container(padding: EdgeInsets.only(left: 30, right: 20, bottom: 20),child: _firstaid(),),Container(padding: EdgeInsets.only(left: 30, right: 20, bottom: 20),child: _handovertime(),),Container(padding: EdgeInsets.only(left: 30, right: 20, bottom: 20),child: _remarks(),),],)))

在这里插入图片描述
使用这个三个组件进行嵌套的话,是可以实现下拉列表滑动,但是,其标题也可以滑动了,不满足策划需求。所以又做出了第二种方式。如下所示

内容均可滑动,标题不滑动

为了使下拉列表的标题不动,内容可以进行滑动,系统自带的下拉列表不能满足条件,通过不同的组件组合,实现这个功能。
在此使用了InkWell组件。并且加载了动画,在点击时,动画展开面板,如下图所示。

class PulldownItem extends StatefulWidget {PulldownItem({Key? key}) : super(key: key);State<PulldownItem> createState() => _PulldownItemState();
}class _PulldownItemState extends State<PulldownItem>with SingleTickerProviderStateMixin {late AnimationController _animationController;late Animation<double> _animation;var _crossFadeState = CrossFadeState.showSecond;void initState() {super.initState();_animationController = AnimationController(duration: const Duration(milliseconds: 300), vsync: this);_animation = Tween(begin: .5, end: 0.0).animate(_animationController);}void dispose() {_animationController.dispose();super.dispose();}Widget build(BuildContext context) {return Container(width: double.infinity,margin: EdgeInsets.only(bottom: 30.w),child: Column(children: [InkWell(highlightColor: Colors.transparent,splashColor: Colors.transparent,onTap: () {if (_animationController.status == AnimationStatus.completed) {_animationController.reverse();_crossFadeState = CrossFadeState.showSecond;} else {_animationController.forward();_crossFadeState = CrossFadeState.showFirst;}setState(() {});},child: Padding(padding: EdgeInsets.symmetric(horizontal: 32.w, vertical: 30.w),child: Row(children: [Text("widget.title",  //下拉列表的标题style: TextStyle(fontSize: 32.sp,color: Colors.black,fontWeight: FontWeight.bold,height: 1),),const Spacer(),RotationTransition(			//下拉列表右边的小三角形alignment: Alignment.center,turns: _animation,child: Image.asset('assets/login/select_img_ambulance.png',width: 46.w,fit: BoxFit.contain,),),],),),),Expanded(child: AnimatedCrossFade(duration: const Duration(milliseconds: 300),firstChild: Container(width: double.infinity,padding: EdgeInsets.symmetric(horizontal: 32.w),child: SingleChildScrollView(child: Column(children: [		//下拉列表的内容,在此是可以滑动的Text("下拉列表的内容"),],),),),secondChild: const SizedBox(width: double.infinity,),crossFadeState: _crossFadeState,),),],),);}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/193567.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

idea查看UML类图

idea查看UML类图 一、如何查看UML类图 1.1 选择需要查看的类或者包&#xff0c;鼠标右键&#xff0c;选择Diagrams->Show Diagram 1.2 对于UML类图中的包&#xff0c;选中后点击鼠标右键-> Expand Nodes(展开节点) 展开前 展开后 1.3 展开后分布比较凌乱&#xff…

北大腾讯打造多模态15边形战士!语言作“纽带”,拳打脚踢各模态,超越Imagebind

AI4Happiness 投稿 量子位 | 公众号 QbitAI 北大联合腾讯打造了一个多模态15边形战士&#xff01; 以语言为中心&#xff0c;“拳打脚踢”视频、音频、深度、红外理解等各模态。 具体来说&#xff0c;研究人员提出了一个叫做LanguageBind的多模态预训练框架。 用语言作为与其…

手写LASSO回归python实现

import numpy as np from matplotlib.font_manager import FontProperties from sklearn.datasets import make_regression from sklearn.model_selection import train_test_split import matplotlib.pyplot as pltclass Lasso():def __init__(self):pass# 数据准备def prepar…

Hoppscotch:开源 API 开发工具,快捷实用 | 开源日报 No.77

hoppscotch/hoppscotch Stars: 56.1k License: MIT Hoppscotch 是一个开源的 API 开发生态系统&#xff0c;主要功能包括发送请求和获取实时响应。该项目具有以下核心优势&#xff1a; 轻量级&#xff1a;采用简约的 UI 设计。快速&#xff1a;实时发送请求并获得响应。支持多…

Servlet 常见的API

文章目录 写在前面Smart Tomcat 插件Servlet 中常见的API1. HttpServletinit 方法destroy 方法service 方法Servlet 的生命周期 使用 postman 构造请求使用 ajax 构造请求2. HttpServletRequest3. 前端给后端传参1). GET, query string2). POST, form3). json 4. HttpServletRe…

JWT登录认证(2认证)

备注说明&#xff1a; 用户登录成功后&#xff0c;系统会自动下发JWT令牌&#xff0c;然后在后续的每次请求中&#xff0c;浏览器都需要在请求头header中携带到服务器&#xff0c;请求头的名称为Authorization&#xff0c;值为登录时下发的JWT令牌。 如果检测到用户未登录&…

通过右键用WebStorm、Idea打开某个文件夹或者在某一文件夹下右键打开当前文件夹用上述两个应用

通过右键用WebStorm、Idea打开某个文件夹或者在某一文件夹下右键打开当前文件夹用上述两个应用 通过右键点击某个文件夹用Idea打开 首先打开注册表 win R 输入 regedit 然后找到HKEY_CLASSES_ROOT\Directory\shell 然后右键shell 新建一个项名字就叫 Idea 第一步&#xf…

社区论坛小程序源码系统,功能齐全,页面简洁,前端+后端+完整部署教程

现如今&#xff0c;社区论坛已经成为人们交流思想&#xff0c;分享经验&#xff0c;获取信息的重要平台。近年来&#xff0c;小程序的出现更是改变了传统的网站建设方式&#xff0c;让用户体验更加便捷&#xff0c;高效。今天源码小编来和大家分享一款社区论坛小程序源码系统&a…

蓝桥杯每日一题2023.11.13

题目描述 蓝桥杯大赛历届真题 - C 语言 B 组 - 蓝桥云课 (lanqiao.cn) 题目分析 由于每次吹灭的蜡烛与年龄相同故我们想到使用前缀和可以让我们求出各个区间的和&#xff0c;我们将每个区间都枚举一遍&#xff0c;如果符合要求就输出区间开始的位置&#xff08;答案&#xff…

JVM——类加载器(JDK8及之前,双亲委派机制)

目录 1.类加载器的分类1.实现方式分类1.虚拟机底层实现2.JDK中默认提供或者自定义 2.类加载器的分类-启动类加载器3.类加载器的分类-Java中的默认类加载器4.类加载器的分类-扩展类加载器5.类加载器的分类-类加载器的继承 2.类加载器的双亲委派机制 类加载器&#xff08;ClassLo…

Page分页records有数据,但是total=0,解决办法

Page分页records有数据&#xff0c;但是total0&#xff0c;解决办法 问题&#xff1a;程序运行起来后&#xff0c;后端接收前端传来的搜索请求信息正常&#xff0c;但无法在前端正确反馈信息&#xff0c;通过在后端排查发现total一直等于零&#xff0c;但数据库中有数据&#x…

使用postman测试

第一步&#xff1a; 第二步&#xff1a; 第三步&#xff1a;添加请求 第四步&#xff1a;填写请求 代码实现自动关联的位置&#xff1a; 为相关联的接口设置环境&#xff1a; 使用设置的环境变量&#xff1a; 参数化实现测试&#xff1a;测试脚本中仅测试数据不一样&#xff…

postman导入请求到jmeter进行简单压测,开发同学一学就会

背景# 这个事情也是最近做的&#xff0c;因为线上nginx被我换成了openresty&#xff0c;然后接入层服务也做了较大改动&#xff0c;虽然我们这个app&#xff08;内部办公类&#xff09;并发不算高&#xff0c;但好歹还是压测一下&#xff0c;上线时心里也稳一点。 于是用jmet…

CTFhub-RCE-过滤空格

1. 查看当前目录&#xff1a;127.0.0.1|ls 2. 查看 flag_890277429145.php 127.0.0.1|cat flag_890277429145.php 根据题目可以知道空格被过滤掉了 3.空格可以用以下字符代替&#xff1a; < 、>、<>、%20(space)、%09(tab)、$IFS$9、 ${IFS}、$IFS等 $IFS在li…

Workplace Search 的演变:使用 Elasticsearch 搜索你的私人数据

作者&#xff1a;Dana Juratoni, Aditya Tripathi Workplace Search 功能将来将与 Elastic Search 合并。 这是你需要了解的内容。 生成式人工智能技术的最新进展为搜索带来了一系列可能性。 随着开发人员构建新的体验&#xff0c;用户正在采用新的搜索使用方式 —— 从用自然…

基于SSM的员工信息管理系统设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

大厂必备的6款React UI框架

优秀的ReactUI框架可以为您节省开发时间&#xff0c;提高开发效率&#xff0c;统一设计语言。你还在为你的项目寻找高质量的ReactUI框架吗&#xff1f;为了让您更容易找到易于使用的UI框架&#xff0c;分享6个优秀的ReactUI框架选项&#xff0c;并介绍了每个UI框架的不同功能和…

【Flink】Flink任务缺失Jobmanager日志的问题排查

Flink任务缺失Jobmanager日志的问题排查 问题不是大问题&#xff0c;不是什么代码级别的高深问题&#xff0c;也没有影响任务运行&#xff0c;纯粹因为人员粗心导致&#xff0c;记录一下排查的过程。 问题描述 一个生产环境的奇怪问题&#xff0c;环境是flink1.15.0 on yarn…

机器学习深度学习服务器推荐

大学生、研究生未免找不到还有的GPU服务器&#xff0c;这边博主推荐 https://featurize.cn?s3d13789cb8184f16bb6133b20c353207 方便&#xff0c;便宜&#xff0c;不会自动删除上传项目文件&#xff0c;支持VScode、pycharm、SSH链接&#xff0c;上传文件速度快。强烈推荐&am…

JS-项目实战-编辑单价单元格,可以点击单价单元格并且出现文本框,并自动选中输入框内部的文本

1、鼠标悬浮和离开事件.js //当页面加载完成后执行后面的匿名函数 window.onload function () {//get:获取 Element:元素 By:通过...方式//getElementById()根据id值获取某元素let fruitTbl document.getElementById("fruit_tbl");//table.rows:获取这个表格…