flutter SingleChildScrollView 和 Column 位置

标签 flutter dart

我有一个问题。

我的应用是SingleChildScrollView -> column -> children: A,B(variable height),C
我期待

如果 A,B,C 没有溢出。
C位置是屏幕的底部。

如果 A,B,C 溢出。
C位置是内容的尾部。

但这是行不通的。

我不能使用灵活的、spacer..etc.. 因为 SingleChildScrollView

怎么能这样做?
enter image description here

最佳答案

作为选项

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: SafeArea(child: SomeWidget()),
      ),
    );
  }
}

class SomeWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return CustomScrollView(
      slivers: <Widget>[
        SliverToBoxAdapter(
          child: Container(
            height: 340,
            color: Colors.red[200],
          ),
        ),
        SliverToBoxAdapter(
          child: Container(
            height: 620,
            color: Colors.orange[200],
          ),
        ),
        SliverFillRemaining(
          hasScrollBody: false,
          child: Align(
            alignment: Alignment.bottomCenter,
            child: Container(
              height: 80,
              color: Colors.green[200],
            ),
          ),
        ),
      ],
    );
  }
}

enter image description here

关于 flutter SingleChildScrollView 和 Column 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60830097/

相关文章:

flutter - Flutter-在底部将FlatButton按下

flutter - 如何在 ListView(作为列)内呈现 ListView(作为行)?

Dart:闭包研究

flutter - 按钮文字颜色变化

flutter - 如何取消对具有自定义 FocusNode 的 TextField 的聚焦?

asynchronous - 如何在 streambuilder 中检测异步操作是否结束?

javascript - 带有 firebase 通知的 Flutter web - subscribeToTopic

flutter - 在 flutter 中使用提供者时如何避免不必要的重建?

dart - 为什么 floor() 在 Dart 中四舍五入?

flutter - 嵌套 map 可能吗?