将FloatingActionButton
与ListView
结合使用时,它会隐藏ListView
条目的部分UI,如屏幕截图所示。
有没有一种方法可以自动在ListView
的底部添加额外的间距,以使+按钮不会隐藏任何内容?
答案 0 :(得分:1)
假设您正在使用ListView
,那么有一个非常简单的解决方案。
您可能不想要在ListView
本身周围添加填充,因为这会使您的UI的某些区域未被使用。
ListView
在此用例上有一个padding
parameter。您实际上可以在{strong> scrollable区域的一部分ListView
的底部添加一些填充。这意味着,只有一直滚动到底部,您才会开始看到此填充。这样一来,您就可以将最后几个项目拖到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: () {},
),
)));
}
答案 1 :(得分:0)
可扩展( ListView.builder( ... 填充:EdgeInsets.only(底部:200), ... ) )