假设你使用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: () {},
),
)));
}