scroll - 在 flutter 中如何只滚动屏幕的下半部分

标签 scroll flutter

我正在尝试创建一个 UI,其中上半部分是裁剪 View 内的图像,下半部分是一些文本内容。

我尝试使用 Expanded Widget Expanded 和 wrapped SingleChildScrolLView,但出现白屏。

var DetailsScreenBottomPart = SingleChildScrollView(
    child: Column(
  mainAxisSize: MainAxisSize.min,
  children: <Widget>[
    Padding(
        padding: EdgeInsets.all(18.0),
        child: Row(
          children: <Widget>[
            Text('Basic Information'),
            Spacer(),
            Text('See all')
          ],
        )),
    Container(
      padding: EdgeInsets.symmetric(horizontal: 18.0, vertical: 20.0),
      child: Text(
          'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Urna porttitor rhoncus dolor purus non enim praesent. Tristique senectus et netus et malesuada. Justo laoreet sit amet cursus sit. Nunc sed blandit libero volutpat. Donec enim diam vulputate ut pharetra sit amet. Lacus luctus accumsan tortor posuere. Mauris nunc congue nisi vitae suscipit. Commodo nulla facilisi nullam vehicula ipsum a. Fermentum posuere urna nec tincidunt praesent semper feugiat nibh sed. Ultrices sagittis orci a scelerisque. Enim nulla aliquet porttitor lacus luctus accumsan tortor posuere ac. Consequat id porta nibh venenatis. Viverra mauris in aliquam sem fringilla ut morbi. Habitasse platea dictumst vestibulum rhoncus est pellentesque elit. Sollicitudin aliquam ultrices sagittis orci a scelerisque. Eget nunc lobortis mattis aliquam faucibus purus in massa tempor. asgdsgdsgfdsgsdfgsdgsdgsdgfsd asgsdhsdhsdh ghsh sfh sfh fsgh shg sfdh fsh sfgh j dfjsfh sfgj dfgj dfgj dfg jdfjg dfj dfjgdfj dfj dfgj d'),
    ),
  ],
));

我想要的输出非常简单,但是自从我今天开始使用 flutter 以来,我对小部件的可用性感到有点困惑和不知所措,我可以滚动屏幕的下半部分并保持上半部分静止吗?这在 flutter 中是否可行。

最佳答案

您需要将 Column 与 2 个 Expanded Child 一起使用。在你的第二个 child 里面保持可滚动的 View 。 例如:

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        body: Column(
          children: <Widget>[
            Expanded(
              flex: 1,
              child: Container(),
            ),
            Expanded(
              flex: 1,
              child: Container(
                width: double.infinity,
                child: SingleChildScrollView(
                  child: Column(
                    children: <Widget>[
                      Container(height: 100, child: Text("Item 1")),
                      Container(height: 100, child: Text("Item 2")),
                      Container(height: 100, child: Text("Item 3")),
                      Container(height: 100, child: Text("Item 4")),
                      Container(height: 100, child: Text("Item 5")),
                      Container(height: 100, child: Text("Item 6")),
                      Container(height: 100, child: Text("Item 7")),
                      Container(height: 100, child: Text("Item 8")),
                      Container(height: 100, child: Text("Item 9")),
                      Container(height: 100, child: Text("Item 10")),
                    ],
                  ),
                ),
              ),
            )
          ],
        ));
  }

关于scroll - 在 flutter 中如何只滚动屏幕的下半部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56255668/

相关文章:

javascript - 防止 iPhone 网络应用程序在输入字段的焦点上滚动

javascript - 即使条件不满足,变量也会持续增长

html - 如何防止iframe在IE中滚动(八)

azure - 使用 Azure Function 将视频上传到 Blob 存储

Flutter - 如何在 PageView 上进行延迟加载?

javascript - 如果页面向下滚动 200 像素,则需要触发一个事件 (jQuery)

html - 如何在页面加载时在底部设置垂直滚动处理程序

facebook - Flutter:如何注销 Facebook 并获取登录对话框

flutter - 每 5 次点击展示一次插页式广告

firebase - 如何在不带X的Flutter中为iOS添加Firebase SDK-代码