我正在使用ExpansionTile并在折叠状态下覆盖默认的文本颜色。扩展小部件时,我想更改标题文本的颜色。我注意到,如果不使用自定义文本颜色,则默认行为是更改颜色,但是,一旦我使用自定义颜色,此行为将不再起作用。这是我的代码。
class TestScreen extends StatefulWidget {
@override
_TestScreenState createState() => _TestScreenState();
}
class _TestScreenState extends State<TestScreen> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Padding(
padding: const EdgeInsets.only(top: 100.0),
child: Card(
child: Center(
child: Column(
children: <Widget>[
ExpansionTile(
title: Text(
'Text 1',
style: TextStyle(
fontSize: 18,
fontWeight: FontWeight.bold,
color: Color.fromRGBO(112, 190, 115, 1),
),
),
children: <Widget>[Text('Text 2'), Text('Text 3')],
),
],
),
),
),
),
);
}
}
答案 0 :(得分:0)
您需要先在build
方法之外声明颜色。然后使用onExpansionChanged
的{{1}}事件对其进行更新。像这样:
ExpanstionTile