Flutter Cupertino 图标不显示

问题描述 投票:0回答:2

我是 Flutter 新手,我正在尝试创建一个导航栏,其两侧有两个图标。我正在使用 Windows Android Studio 和那里的 android 模拟器。

但是,目前仅显示尾随图标,而不显示前导图标。我不确定为什么会发生这种情况(是因为我使用的是 Android 模拟器吗?)。希望在这里得到一些帮助。谢谢!

编辑:当栏折叠时,前导图标也不会显示,即使它与尾随图标共享相同的代码。我尝试过谷歌搜索,但似乎这不是一个常见问题?

这是我的代码片段:

home.dart

class HomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return CupertinoPageScaffold(
      child: NestedScrollView(
        headerSliverBuilder: (BuildContext context, bool innerBoxIsScrolled) {
          return <Widget>[
            Heading(
              headingTitle: 'Ambisense',
              leadingIcon: Icon(CupertinoIcons.bars),
              trailingIcon: Icon(CupertinoIcons.gear_alt_fill),
            )
          ];
        },
        body: Center(
          child: Text('Home Page'),
        )
      ),
    );
  }

标题.dart

class Heading extends StatelessWidget with ObstructingPreferredSizeWidget {
  final String headingTitle;
  final Icon leadingIcon;
  final Icon trailingIcon;

  Heading({
    @required this.headingTitle,
    @required this.leadingIcon,
    @required this.trailingIcon
  });

  @override
  Widget build(BuildContext context) {
    return CupertinoSliverNavigationBar(
      largeTitle: Text(headingTitle),
      leading: this.leadingIcon,
      trailing: this.trailingIcon,
    );
  }

  @override
  // TODO: implement preferredSize
  Size get preferredSize => throw UnimplementedError();

  @override
  bool shouldFullyObstruct(BuildContext context) {
    // TODO: implement shouldFullyObstruct
    throw UnimplementedError();
  }
}
android flutter navigationbar flutter-cupertino
2个回答
1
投票

我怀疑问题出在使用 android 模拟器,因为 Cupertino 被设计为在 ios 上运行。我尝试过使用其他一些 CupertinoIcons,有些出现,有些不出现。但是,解决该问题的方法是使用 Material 类中的 Icon 集合 而不是 CupertinoIcons。

我正在寻找菜单图标,因此使用了

IconData(0xf2fb, fontFamily: 'MaterialIcons')


0
投票

我通过删除

pubspec.lock
文件解决了我的问题,不知何故它没有注册 cupertinoicons 插件,

我回家就能解决这个问题,

确保也运行

flutter clean

跑步前

flutter pub get

© www.soinside.com 2019 - 2024. All rights reserved.