展开时,在ExpansionTile小部件中更改标题文本的颜色

时间:2019-06-18 21:06:04

标签: flutter

我正在使用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')],
                ),
              ],
            ),
          ),
        ),
      ),
    );
  }
}

1 个答案:

答案 0 :(得分:0)

您需要先在build方法之外声明颜色。然后使用onExpansionChanged的{​​{1}}事件对其进行更新。像这样:

ExpanstionTile