flutter - 检测小部件是否溢出

标签 flutter dart layout

我想根据蓝色更改红色小部件的位置。
情况1:
如果蓝色列表小部件的高度小于屏幕高度,请在屏幕底部找到红色的红色。
情况2:
如果蓝色列表小部件的高度高于屏幕高度,则将红色小部件的位置定位到小部件的底部。
enter image description here

最佳答案

当涉及列表的内容看起来过于复杂时,研究slivers通常很有趣。
对于您的情况,一个条子可以解决您的问题:SliverFillRemaining
这是您的问题的示例实现,很大程度上受 flutter 团队提供的代码启发。

import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: MyStatelessWidget(),
      ),
    );
  }
}

class MyStatelessWidget extends StatelessWidget {
  MyStatelessWidget({Key key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return CustomScrollView(
      slivers: <Widget>[
        SliverList(
          delegate: SliverChildListDelegate(
            [
              Container(
                color: Colors.amber[300],
                height: 150.0,
              ),
              Container(
                color: Colors.green[300],
                height: 150.0,
              ),
            ]
          ),
        ),
        SliverFillRemaining(
          hasScrollBody: false,
          child: Container(
            alignment: Alignment.bottomCenter,
            color: Colors.red,
            child: Icon(
              Icons.sentiment_very_satisfied,
              size: 75,
              color: Colors.blue[900],
            ),
          ),
        ),
      ],
    );
  }
}

关于flutter - 检测小部件是否溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64348947/

相关文章:

flutter - 创建自定义文本表单域

flutter - 您是否需要将插件的权限添加到应用程序的 AndroidManifest.xml 中?

php - 在 php 中加密并在 Dart 中解密(flutter)

flutter - 如何解决 'could not find package integration_test in the Flutter SDK'错误

html - 没有固定大小的容器中的垂直和水平居中文本在 Firefox 中表现得很奇怪

JavaFX 8 - 布局交换或与 Qt 的 StackedWidget 类似/等效的功能?

flutter 网页 : Show PDF or Any File from Assets on another browser tab or window

dart - 如何获得访问作用域模型模型

Flutter:带相机插件的 Live ml kit 文本识别

android - 如何在 Android 中的 SimpleCursorAdapter 列表上使用 LayoutInflater?