【问题标题】:Flutter: Widget is not a subtype of type 'ObstructingPreferredSizeWidget'Flutter:小部件不是“ObstructingPreferredSizeWidget”类型的子类型
【发布时间】:2020-08-31 06:21:49
【问题描述】:

我正在尝试将我的 AppBar 存储在一个变量中以使用多个位置

我的 main.dart 文件包含 -

final PreferredSizeWidget appBar = NavigationAppBar(_actionCall)

而navigation_app_bar 包含-

class NavigationAppBar extends StatelessWidget with PreferredSizeWidget {
  final Function actionCall;

  NavigationAppBar(this.actionCall);

  @override
  Widget build(BuildContext context) {
    return Platform.isIOS ? 
    CupertinoNavigationBar(
      middle: Text(
        'ABC'
      ),
      trailing: Row(
        mainAxisSize: MainAxisSize.min,
        children: <Widget>[
            GestureDetector(
              child: Icon(CupertinoIcons.add),
              onTap: () => actionCall,
            )
        ],
      ),
    ) : 
    AppBar(
      title: Text('ABC'),
      centerTitle: false,
      actions: <Widget>[
        IconButton(
          icon: Icon(Icons.add),
          onPressed: () => actionCall,
        )
      ],
    );
  }

  @override
  Size get preferredSize => Size.fromHeight(kToolbarHeight);
}

但是在尝试运行我的颤振应用时出现以下错误。

type 'NavigationAppBar' is not a subtype of type 'ObstructingPreferredSizeWidget'

我该如何解决这个问题?感谢您提供任何帮助。

【问题讨论】:

    标签: flutter dart widget flutter-layout flutter-dependencies


    【解决方案1】:

    您是否尝试在代码的所有适用位置将 NavigationAppBar 替换为 PreferredSizeWidget?这对我有帮助。

    我的问题有一点不同,因为我必须用 PreferredSizeWidget 替换 AppBar(不是 NavigationAppBar)。

    这可能与 Flutter 最新版本的一些变化有关。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-23
      • 2021-09-11
      • 2020-10-28
      • 1970-01-01
      • 2022-11-18
      • 2023-01-26
      • 2019-12-27
      • 2021-10-17
      相关资源
      最近更新 更多