我们需要一种方法动态的控制 ExpansionPanel 的收起还有展开的状态 .. 按了面板右边这个小图标可以触发执行 ExpansionPanelList 里面的 expansionCallback .. 在这个方法里我们可以去控制面板的状态 ..
先这样试一下 .. 在这个类里面,添加一个 bool 类型的数据,名字是 _isExpanded ,默认让它等于 false ..
然后我们可以再把这个面板的 isExpanded 属性的值设置成 _isExpanded .. 点按面板的控制按钮会触发执行 ExpansionPanelList 里面的 expansionCallback .. 这个方法有两个参数 .. 一个是 int 类型的 panelIndex ... 就是被点的那个面板的索引号 .. 还有一个 bool 类型的 isExpanded ,表示的就是被按的那个面板的收缩状态 ..
在这个方法里面,我们可以用一下 setState .. 去把 _isExpanded 的值设置成 !isExpanded .. 把 _isExpanded 的值设置成跟当前被按的面板的收缩状态相反的值 ..
再到模拟器上去试一下 .. 按一下面板上的控制按钮 .. 现在,它可以切换这个面板的收缩状态 ...