返回

Flutter 基础 - 058 - ExpansionTile 可下拉展开的小部件的构造方法示例代码

Android

在 Flutter 中,ExpansionTile 是一种可下拉展开的小部件,它允许用户交互式地展开和折叠内容。它广泛用于创建可扩展列表、显示隐藏信息或提供高级选项。本文将深入探讨 ExpansionTile 的构造方法,提供示例代码并解释其各个参数的用途。

构造方法概述

ExpansionTile 有两个主要的构造方法:

  • ExpansionTile:基本构造方法,用于创建具有指定标题、子标题和内容的小部件。
  • ExpansionTile.collapsed:创建一个在默认情况下折叠的小部件,并带有指定标题、子标题和内容。

基本构造方法

ExpansionTile 基本构造方法的语法如下:

ExpansionTile({
  Key key,
  @required Widget title,
  Widget subtitle,
  Widget leading,
  Widget trailing,
  bool initiallyExpanded = false,
  Duration duration = const Duration(milliseconds: 200),
  Widget background,
  Color backgroundColor,
  List<BoxShadow> boxShadow,
  BorderRadius borderRadius,
  ShapeBorder shape,
  bool maintainState = false,
  Widget children,
})

必需参数:

  • title:小部件的标题。
  • initiallyExpanded(可选):如果为 true,则小部件将默认展开。默认为 false。
  • children:小部件展开时显示的内容。

其他参数:

  • subtitle:小部件的子标题。
  • leading:小部件标题前面的图标或小部件。
  • trailing:小部件标题后面的图标或小部件。
  • duration:小部件展开或折叠动画的持续时间。
  • background:小部件展开时的背景小部件。
  • backgroundColor:小部件展开时的背景颜色。
  • boxShadow:小部件展开时的阴影效果。
  • borderRadius:小部件展开时的边框半径。
  • shape:小部件展开时的形状边框。
  • maintainState:如果为 true,则小部件的状态将在展开和折叠之间保持。默认为 false。

折叠构造方法

ExpansionTile.collapsed 构造方法的语法如下:

ExpansionTile.collapsed({
  Key key,
  @required Widget title,
  Widget subtitle,
  Widget leading,
  Widget trailing,
  bool maintainState = false,
  List<Widget> children = const <Widget>[],
})

ExpansionTile.collapsed 构造方法与基本构造方法类似,但它不接受 initiallyExpanded 参数。相反,小部件始终在折叠状态下创建。

示例代码

以下是一个使用基本 ExpansionTile 构造方法的示例代码:

ExpansionTile(
  title: Text('Expansion Tile Title'),
  subtitle: Text('This is the subtitle'),
  children: <Widget>[
    Text('This is the content of the expansion tile'),
  ],
)

以下是一个使用 ExpansionTile.collapsed 构造方法的示例代码:

ExpansionTile.collapsed(
  title: Text('Collapsed Expansion Tile Title'),
  subtitle: Text('This is the subtitle'),
  children: <Widget>[
    Text('This is the content of the collapsed expansion tile'),
  ],
)

结论

ExpansionTile 是 Flutter 中一个强大且用途广泛的小部件,可用于创建可下拉展开的内容。本文探讨了两个构造方法:ExpansionTileExpansionTile.collapsed,并提供了详细的参数解释和示例代码。通过掌握这些构造方法,您可以有效地创建交互式且用户友好的可下拉展开小部件。