【问题标题】:How to remove the divider lines of an ExpansionTile when expanded in Flutter在 Flutter 中展开时如何移除 ExpansionTile 的分隔线
【发布时间】:2020-07-01 00:32:09
【问题描述】:

我的 Drawer 小部件中有一个 ExpansionTile。当我展开这个项目时,它会自动在上面和下面添加一条分隔线。我想要这些分隔线永久。

所以我想知道如何始终显示 ExpansionTile 的分隔线(展开和未展开),或者我可以添加自己的分隔线并告诉 ExpansionTile 从不显示分隔线。

这可能吗?谢谢。

【问题讨论】:

    标签: flutter


    【解决方案1】:

    您可以通过将 ExpansionTile 小部件包裹在 Theme Widget 中来隐藏分隔线,

    添加主题小部件后,您的代码将如下所示

    Theme(
         data: Theme.of(context).copyWith(dividerColor: Colors.transparent),
         child:ExpansionTile(
             title:...,
             children:[],
         ),
    ),
    

    检查这个Github Issue

    【讨论】:

    • 您如何始终显示问题中包含的分隔线?
    【解决方案2】:

    @RJB,我遇到了同样的问题,我解决了用一列包装 ExpansionTile,如下所示:

    Theme(
      data: Theme.of(context).copyWith(dividerColor: Colors.transparent),
      child: Column(
        children: [
          ExpansionTile(
            title: Text(
             'My title',
              style: const TextStyle(
                fontWeight: FontWeight.bold,
              ),
            ),
            trailing: Icon(
              _showContent
                  ? Icons.expand_less_rounded
                  : Icons.expand_more_rounded,
            ),
            onExpansionChanged: (bool expanded) {
              setState(() => _showContent = expanded);
            },
            children: <Widget>[
              Text('My content'),
            ],
          ),
          const Divider(
            color: Colors.amber,
            thickness: 1,
            height: 0,
          )
        ],
      ),
    );
    

    我知道它不漂亮,但我找不到可以对其外观的各个方面进行个性化的扩展组件。

    【讨论】:

      猜你喜欢
      • 2018-12-24
      • 2020-08-30
      • 1970-01-01
      • 2020-05-13
      • 2021-08-24
      • 2019-07-16
      • 2021-04-01
      • 1970-01-01
      • 2020-06-06
      相关资源
      最近更新 更多