Sha*_*ran 2 expansion flutter flutter-layout
我试图在Flutter中设置ExpansionPanel的样式,但颜色不适用于整个面板.我已经尝试过Container和Card小部件,颜色没有更新.有任何想法吗?我想添加背景颜色以覆盖整个ExpansionPanel.有没有办法将父主题添加到ExpansionPanel.
卡
Card(
elevation: 2.0,
color: Theme.of(context).primaryColor,
margin: EdgeInsets.only(left: 10.0,right: 10.0,top: 10.0),
child: ExpansionPanelList(
expansionCallback: (int index, bool isExpanded) {
setState(() {
_items[index].isExpanded = !_items[index].isExpanded;
Timer(Duration(milliseconds: 200), () {
setState(() {
_reconfigureFAB();
});
});
});
},
children: _items.map((IncludedItem item) {
return ExpansionPanel(
headerBuilder: (BuildContext context, bool isExpanded) {
return Container(
padding: EdgeInsets.only(left: 18.0),
child: Row(children: [
Text(
"What's included",
textAlign: TextAlign.start,
style: TextStyle(
fontFamily: 'Bold',
fontSize: 33.0,
color: Theme.of(context).backgroundColor),
),
]),
);
;
},
isExpanded: item.isExpanded,
body: Container(
child: Text("body"),
),
);
}).toList(),
),
);
Run Code Online (Sandbox Code Playgroud)
容器
Container(
color: Theme.of(context).primaryColor,
margin: EdgeInsets.only(left: 10.0,right: 10.0,top: 10.0),
child: ExpansionPanelList(
expansionCallback: (int index, bool isExpanded) {
setState(() {
_items[index].isExpanded = !_items[index].isExpanded;
Timer(Duration(milliseconds: 200), () {
setState(() {
_reconfigureFAB();
});
});
});
},
children: _items.map((IncludedItem item) {
return ExpansionPanel(
headerBuilder: (BuildContext context, bool isExpanded) {
return Container(
padding: EdgeInsets.only(left: 18.0),
child: Row(children: [
Text(
"What's included",
textAlign: TextAlign.start,
style: TextStyle(
fontFamily: 'Bold',
fontSize: 33.0,
color: Theme.of(context).backgroundColor),
),
]),
);
;
},
isExpanded: item.isExpanded,
body: Container(
child: Text("body"),
),
);
}).toList(),
),
);
Run Code Online (Sandbox Code Playgroud)
ExpansionPanelList使用cardColor主题中的颜色.您可以在MaterialApp(theme属性)中指定它或在窗口小部件中覆盖它:
Container(
color: Theme.of(context).primaryColor,
margin: EdgeInsets.only(left: 10.0, right: 10.0, top: 10.0),
child: Theme(
data: Theme.of(context).copyWith(cardColor: Colors.red),
child: ExpansionPanelList(
...
Run Code Online (Sandbox Code Playgroud)
ExpansionPanel有一个名为backgroundColor的属性。你可以添加任何颜色,它看起来像这样:

ExpansionPanel(
backgroundColor: Colors.green,
headerBuilder: (BuildContext context, bool isExpanded) {
return const ListTile(
title: Text("Quiz 0"),
);
},
body: const ListTile(
title: Text("body"),
),
),
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3420 次 |
| 最近记录: |