颤振系统实现ExpansionPanelList的方法

  介绍

这篇文章主要讲解了颤振系统实现ExpansionPanelList的方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

在了解ExpansionPanelList实现前,先来了解下MergeableMaterial,它展示多个MergeableMaterialItem组件,当子组件发生变化时,以动画的方式打开或者关闭子组件,MergeableMaterial的父控件需要在主轴方向是一个没有限制的控件,比如SingleChildScrollView,行,列等。

基本用法如下:

SingleChildScrollView (   孩子:MergeableMaterial (   孩子:(   MaterialSlice (   关键:ValueKey (1),   孩子:容器(   高度:45岁   颜色:颜色。初选(1% Colors.primaries.length),   )),   MaterialGap(关键:ValueKey (2)),   MaterialSlice (   关键:ValueKey (3),   孩子:容器(   高度:45岁   颜色:颜色。初选(1% Colors.primaries.length),   )),   MaterialGap(关键:ValueKey (4)),   MaterialSlice (   关键:ValueKey (5),   孩子:容器(   高度:45岁   颜色:颜色。初选(1% Colors.primaries.length),   )),   ],   ),   )

效果如下:

颤振系统实现ExpansionPanelList的方法

MergeableMaterial的子控件只能是MaterialSlice和MaterialGap, MaterialSlice是带子控件的控件,显示实际内容,MaterialGap用于分割,只能放在MaterialSlice中间。

静态情况下,看不出具体的效果,动态改变子组件用法如下:

List项=[];   列表。生成(_count(指数){   items.add (MaterialSlice (   关键:ValueKey(指数* 2),   孩子:容器(   高度:45岁   颜色:颜色。初选(指数% Colors.primaries.length),   )));   });      返回SingleChildScrollView (   孩子:MergeableMaterial (   孩子们:物品,   ),   )

效果如下:

颤振系统实现ExpansionPanelList的方法

主要看增加/删除子组件时的动画效果。

增加分割线和阴影:

MergeableMaterial (   hasDividers:没错,   海拔高度:24日   孩子们:物品,   )

效果如下:

颤振系统实现ExpansionPanelList的方法

阴影值不能随便设置,只能设置如下值:1,2,3,4,6,8,9日,12日,16日,24日

此控件可以实现什么样的效果呢?看下面效果:

颤振系统实现ExpansionPanelList的方法

实现代码:

 bool _expand=false;
  
  @override
  小部件构建(BuildContext上下文){
  返回列(
  孩子们:& lt; Widget> (
  容器(
  高度:45岁
  颜色:Colors.green.withOpacity (3),
  对齐:Alignment.centerRight,
  孩子:IconButton (
  图标:图标(Icons.arrow_drop_down),>看完上述内容,是不是对颤振系统实现ExpansionPanelList的方法有进一步的了解,如果还想学习更多内容,欢迎关注行业资讯频道。

颤振系统实现ExpansionPanelList的方法