【问题标题】:Widget below ListView.builder / Flexible take minimum spaceListView.builder 下面的小部件/灵活占用最小空间
【发布时间】:2019-04-02 20:36:49
【问题描述】:

我想创建一个列小部件,其中有两个元素: 一个 ListView.builder (必须包装在一个灵活的小部件中,因此它不会崩溃)和另一个小部件。 另一个 Widget 应直接放在 ListView 下方。

问题在于 Flexible Widget/ListView 占用了所有空间并将另一个小部件推到屏幕底部。

我已经尝试了将另一个小部件放入第二个灵活的各种组合,也尝试使用 flex 和 fit,但似乎没有任何效果

import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  List<String> mylist = ["aaaa","bbbb","cccc","ddd","eee","fff","ggg"];

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(body: Column(
        verticalDirection: VerticalDirection.down,
        children: <Widget>[
          Flexible(child: ListView.builder(itemBuilder: listbuilder,itemCount: mylist.length,)),
      ListTile(leading: Text("this should be below the other"))
      ]),)

    );
  }

  Widget listbuilder(BuildContext context, int index)
  {
    return ListTile(leading: Text(mylist[index]),

    );
  }
}

【问题讨论】:

    标签: listview dart flutter


    【解决方案1】:

    这应该可行:

                body:
                          Column(verticalDirection: VerticalDirection.down, children: <Widget>[
                        ListView.builder(
                          shrinkWrap: true,
                          itemBuilder: listbuilder,
                          itemCount: mylist.length,
                        ),
                        ListTile(leading: Text("this should be below the other"))
                      ]),
    

    【讨论】:

      猜你喜欢
      • 2020-05-08
      • 2020-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多