в этом ниже виджете флаттера ExpansionPanelList
я пытаюсь раскрасить белый фон в другой цвет, такой как indigo
, я не могу найти никакой документации или полезной ссылки для достижения этого
ExpansionPanelList(
expansionCallback: (int index, bool isExpanded) {
setState(() {
_categoryExpansionStateMap[_categoryExpansionStateMap.keys
.toList()[index]] = !isExpanded;
});
},
children: <ExpansionPanel>[
ExpansionPanel(
headerBuilder: (BuildContext context, bool isExpanded) {
return ListTile(
contentPadding: EdgeInsets.all(3.0),
leading: Container(
padding:
EdgeInsets.fromLTRB(10.0, 0.0, 10.0, 0.0),
decoration: BoxDecoration(
border: Border(
left: BorderSide(
width: 3.0, color: Colors.white54))),
child: Icon(
Icons.account_circle,
size: 30.0,
color: Colors.black,
),
),
title: ListTile(
contentPadding: EdgeInsets.all(0.0),
title: Text(
Strings.yourBasicInformation,
style: TextStyle(
color: Colors.black,
fontSize: 14.0,),
)
),
);
},
body: Biography(),
isExpanded: _categoryExpansionStateMap["Biography"]),
],
),
Вы можете попробовать два движения. Один. Оберните ExpansionPanelList
в Container
и передайте цвет в Container
, я думаю, это должно сработать, я не знаю остальной части вашего кода.
Второй переместите его, чтобы обернуть ExpansionPanelList
в компонент Theme
. Передайте данные, затем позвоните ThemeData().copyWith(canvasColor: Colors.white)
. Тогда это будет выглядеть так:
Theme(
data: ThemeData().copyWith(canvasColor: Colors.white),
child: ExpansionPanelList(
expansionCallback: (int index, bool isExpanded) {
setState(() {
_categoryExpansionStateMap[_categoryExpansionStateMap.keys
.toList()[index]] = !isExpanded;
});
},
children: <ExpansionPanel>[
ExpansionPanel(
headerBuilder: (BuildContext context, bool isExpanded) {
return ListTile(
contentPadding: EdgeInsets.all(3.0),
leading: Container(
padding:
EdgeInsets.fromLTRB(10.0, 0.0, 10.0, 0.0),
decoration: BoxDecoration(
border: Border(
left: BorderSide(
width: 3.0, color: Colors.white54))),
child: Icon(
Icons.account_circle,
size: 30.0,
color: Colors.black,
),
),
title: ListTile(
contentPadding: EdgeInsets.all(0.0),
title: Text(
Strings.yourBasicInformation,
style: TextStyle(
color: Colors.black,
fontSize: 14.0,),
)
),
);
},
body: Biography(),
isExpanded: _categoryExpansionStateMap["Biography"]),
],
),
)
Вы пытались обернуть ExpansionPanelTile в контейнер и передать цвет в параметре цвета контейнера?