FloatingActionButtonListView结合使用时,它会隐藏ListView条目的部分UI,如屏幕截图所示.
有没有办法在ListView的底部自动添加额外的间距,这样+按钮就不会隐藏任何内容?

enter image description here

推荐答案

假设你使用ListView,有一个非常好的简单的解决方案

ListView的值为padding parameter,正好对应于此用例.您基本上可以在ListView的底部添加一些填充,这是scrollable area的一部分.这意味着只有在滚动到底部之后,您才会开始看到此填充.这将允许您将最后几个项目拖动到FloatingActionButton上方.
要为填充找到合适的值,您可以使用kFloatingActionButtonMargin_kExtendedSizeConstraints,这是不可访问的,因此,我将只使用48,如下所示.

这意味着您需要将以下内容添加到您的ListView中:

ListView(
  padding: const EdgeInsets.only(bottom: kFloatingActionButtonMargin + 48),
  ..
)

以下是一个有效的例子:

import 'package:flutter/material.dart';

main() {
  runApp(MaterialApp(
      home: Scaffold(
    body: ListView.builder(
        padding: const EdgeInsets.only(bottom: kFloatingActionButtonMargin + 48),
        itemCount: 23,
        itemBuilder: (context, index) => ListTile(
              trailing: Text('$index'),
            )),
    floatingActionButton: FloatingActionButton(
      onPressed: () {},
    ),
  )));
}

screen capture

Dart相关问答推荐

如何防止 getter 或函数每次都重新计算?

为什么使用三元条件运算符会产生return_of_invalid_type错误?

自定义主题无法正常工作

dart nullsafey 和使用旧包

如何在 Flutter Web 中动态更改 App Title?

在Dart中进行系统调用?

如何通过点击 BottomNavigationBarItem 以编程方式打开Drawer抽屉?

如何在 Flutter 中向 AnimationController 添加 Curves 类动画?

Flutter ButtonRow 填充

使用 Google Dart 进行数据库查询?

Flutter:测试期间的计时器问题

在 Flutter 中推送新页面时,Navigator 堆栈上的页面会重建

常数在定义Flutter边缘集中的作用

如何实现从左侧滑动的侧边菜单?

Flutter判断变量是否为 NaN

在 Flutter 的 TextFormField 中管理事件

Dart 是否有断点语句?

Dart 是否支持函数式编程?

Dart MD5 字符串

Dart 中使用的包命名约定是什么?