0

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

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

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

在此处输入图像描述

这是我的代码片段:

主页.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();
  }
}
4

1 回答 1

0

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

我正在寻找一个菜单图标,所以IconData(0xf2fb, fontFamily: 'MaterialIcons')被使用了。

于 2020-12-19T16:07:16.047 回答