Dart 颤振:自定义扩展文件

Dart 颤振:自定义扩展文件,dart,flutter,Dart,Flutter,是否有可能在颤振中改变膨胀瓦?具体来说,我想删除它在扩展时创建的分隔符。我还想调整它的填充物。可能吗?谢谢 来自expansionfile 您可以通过将元素包装在主题中,例如通过修改dividerColor _borderColor.end = theme.dividerColor; 类似于\u headerColor,\u iconColor,\u backgroundColor。 如果您需要更多的定制,您可以随时复制源代码,并根据自己的喜好进行定制。对于移除分隔符,只需使用主题小部件扭曲

是否有可能在颤振中改变膨胀瓦?具体来说,我想删除它在扩展时创建的分隔符。我还想调整它的填充物。可能吗?谢谢

来自
expansionfile

您可以通过将元素包装在
主题中,例如通过修改
dividerColor

_borderColor.end = theme.dividerColor;
类似于
\u headerColor
\u iconColor
\u backgroundColor

如果您需要更多的定制,您可以随时复制源代码,并根据自己的喜好进行定制。

对于移除分隔符,只需使用
主题
小部件扭曲分隔符,并使分隔符颜色透明即可

final theme = Theme.of(context).copyWith(dividerColor: Colors.transparent);
return Theme(data: theme, child: ExpansionTile(...));    
点评

//        border: Border(
//          top: BorderSide(color: borderSideColor),
//          bottom: BorderSide(color: borderSideColor),
//        ),

从expansion_tile.dart

只需从中复制扩展文件源代码,并根据需要进行编辑,然后创建自定义扩展文件!!这个答案太简单,没有提供足够的解释,说明它是如何解决OP的问题的。@GunterZochbauer编辑源代码是一种更好的做法吗?我有一个类似的问题,我查看了扩展磁贴源代码,并且在扩展磁贴时应用了边框。我只是注释了这段代码,因为我不需要它们,这对我来说很有效,是应该这样做还是一种不好的做法?@maheshmnj如果你在
~/.pub cache/..
~/.flatter/..
中的某个地方更改代码,你将不会从flatter中获得很多乐趣-一点乐趣也没有-不要这样做,就像以前一样。该目录中的更改可能随时丢失。如果您将源代码复制到自己的项目中,那么维护负担就在您身上,因为当Flutter团队进行更改时,您甚至不会得到通知,并且您的代码可能会过时。如果该小部件不允许任何其他方式根据您的需要定制其行为(如当时的上述示例),那么复制可能是较轻的负担。这不是一个好的做法,因为当Flatter团队更新其代码时,它将被覆盖,请阅读@GunterZochbauer的上述评论
final theme = Theme.of(context).copyWith(dividerColor: Colors.transparent);
return Theme(data: theme, child: ExpansionTile(...));    
//        border: Border(
//          top: BorderSide(color: borderSideColor),
//          bottom: BorderSide(color: borderSideColor),
//        ),