相关疑难解决方法(0)

Listview - 屏幕底部的页脚

我有一个添加了页脚的ListView listview.addFooterView(footerView);

所有工作都按预期排除在一种情况下:当我的listview的项目没有填满整个屏幕时,我希望页脚位于屏幕的底部,而不是在中间.有办法轻松做到这一点吗?或者我应该改变我的布局?

谢谢

编辑:这可能会有所帮助(这就是我想要的) 在此输入图像描述

layout android listview footer

14
推荐指数
1
解决办法
8284
查看次数

如何使用 Flutter 创建带有固定页脚的滚动视图?

我想创建一个视图,无论屏幕大小如何,它都必须具有Column滚动视图(例如类似的东西SingleChildScrollView)和页脚。如果屏幕足够大,它将使用滚动和页脚之间的空白空间,如果不是,它将扩展并且只使页脚上方的小部件可滚动。

它或多或少类似于底部带有滚动页脚的 Listview,但不同之处在于我希望键盘溢出页脚并且它也应该保持原位。

就像是

例子

return Scaffold(
      body: Column(
        mainAxisAlignment: MainAxisAlignment.spaceBetween,
        children: <Widget>[
          SingleChildScrollView(
            child: Padding(
              padding: const EdgeInsets.only(left: 30.0, right: 30.0, top: 80.0),
              child: Form(
                child: Column(
                  crossAxisAlignment: CrossAxisAlignment.stretch,
                  children: <Widget>[
                   // Multiple widgets and form fields
                  ],
                ),
              ),
            ),
          ),
          Padding(
            padding: const EdgeInsets.only(top: 50.0),
            child: SafeArea(
              child: Row(
                mainAxisAlignment: MainAxisAlignment.spaceBetween,
                children: <Widget>[
                  // Footer widgets
                ],
              ),
            ),
          )
        ],
      ),
    );
Run Code Online (Sandbox Code Playgroud)

layout dart flutter

12
推荐指数
5
解决办法
1万
查看次数

将SliverFillRemaining与CustomScrollView和SliverList一起使用

我正在尝试创建一个滚动列表,该列表可以在滚动列表的底部具有页脚。如果列表没有填满所有垂直屏幕空间,则页脚将需要向下移动到页面底部。

我尝试使用SliverListSliverFillRemaining在中实现这一点,CustomScrollViewSliverFillRemaining我相信显示了一些意外的行为。它填满了多余的空间(请参阅gif)。

我使用以下代码创建了此列表:

child: new CustomScrollView(
  slivers: <Widget>[
    new SliverList(
      delegate: new SliverChildBuilderDelegate(
        (BuildContext context, int index) {
          return new Card(
            child: new Container(
              padding: new EdgeInsets.all(20.0),
              child: new Center(child: new Text("Card $index")),
            ),
          );
        },
        childCount: 3,
      ),
    ),
    new SliverPadding(
      padding: new EdgeInsets.all(5.0),
    ),
    new SliverFillRemaining(
      child: new Container(
        color: Colors.red,
      ),
    )
  ],
)
Run Code Online (Sandbox Code Playgroud)

该图显示了列表视图出了什么问题

dart flutter

8
推荐指数
2
解决办法
2359
查看次数

标签 统计

dart ×2

flutter ×2

layout ×2

android ×1

footer ×1

listview ×1