【问题标题】:I want to have Navigator Widget in the CustomScrollView(CustomScrollView as a parent of Navigator) but It gives an error in my flutter app我想在 CustomScrollView 中使用 Navigator Widget(CustomScrollView 作为 Navigator 的父级),但它在我的 flutter 应用程序中出错
【发布时间】:2023-02-04 20:50:04
【问题描述】:

我想在 CustomScrollView(CustomScrollView 作为 Navigator 的父级)中使用 Navigator Widget,但它在我的 flutter 应用程序中给出了一个错误: constraints.biggest.isFinite 不是真的

我的代码:

import 'package:flutter/material.dart';

class Example extends StatelessWidget {
  const Example({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return CustomScrollView(
      slivers: [
        SliverToBoxAdapter(
          child: Navigator(
            onGenerateRoute: (settings) {
              return MaterialPageRoute(builder: (BuildContext context) {
                return Scaffold(
                  body: Column(
                    children: [Text('some Teext')],
                  ),
                );
              });
            },
          ),
        )
      ],
    );
  }
}

我知道如果我用具有特定高度的 SizedBox 包装我的 Navigator 小部件,错误将会消失但我不想要特定的高度。

我想添加 CustomScrollView,因为我希望我的顶部应用栏浮动在屏幕上以及导航器上方。这个导航器基本上是一个嵌套的导航器。 提前致谢。感谢您的回答。

【问题讨论】:

    标签: flutter flutter-navigation flutter-exception


    【解决方案1】:

    这个问题是关于约束的,你可以使用SliverFillRemaining

    class Example extends StatelessWidget {
      const Example({Key? key}) : super(key: key);
    
      @override
      Widget build(BuildContext context) {
        return CustomScrollView(
          slivers: [
            SliverFillRemaining(
              child: Navigator(
                onGenerateRoute: (settings) {
                  return MaterialPageRoute(
                    builder: (BuildContext context) {
                      return Scaffold(
                        body: Column(
                          mainAxisSize: MainAxisSize.min,
                          children: [Text('some Teext')],
                        ),
                      );
                    },
                  );
                },
              ),
            )
          ],
        );
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2018-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-20
      • 1970-01-01
      • 2020-01-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多