简体   繁体   English

flutter/ 当你在listview的itemBuilder中使用Align时,最后一个小部件消失了

[英]flutter/ The last widget disappears when you use Align in the itemBuilder in listview

I used the [HeightFactor] option in the [Align] widget.我在 [Align] 小部件中使用了 [HeightFactor] 选项。

Every time I scroll, the bottom widget disappears and appears.每次滚动时,底部小部件都会消失并出现。 How shall I do it?我该怎么做?

I tried [cacheExtent] in listview, but I don't think this is right.我在 listview 中尝试了 [cacheExtent],但我认为这是不对的。

image .图像

 @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: Container(
        child: ListView.builder(
          padding: const EdgeInsets.only(top: 50),
          itemCount: _color.length,
          itemBuilder: (BuildContext context, int index) {
            return Align(
              heightFactor: 0.6,
              child: Container(
                decoration: BoxDecoration(
                    color: _color[index],
                    borderRadius: BorderRadius.all(Radius.circular(20))),
                alignment: Alignment.center,
                padding: const EdgeInsets.all(30),
                child: Text(
                  'ITEM $index',
                  style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold),
                ),
              ),
            );
          },
        ),
      ),
    );
  }

please remove container and replace with SingleChildScrollView in Scaffold body and also added请删除容器并替换为脚手架主体中的 SingleChildScrollView 并添加

shrinkWrap: true,
physics: ClampingScrollPhysics(),

inside the list view在列表视图内

this is my code这是我的代码

List<Color> _colors = [
    Colors.blue,
    Colors.grey,
    Colors.redAccent,
    Colors.pink,
    Colors.orange,
    Colors.red,
    Colors.amber,
    Colors.blue,
    Colors.blue,
    Colors.grey,
    Colors.redAccent,
    Colors.pink,
    Colors.orange,
    Colors.red,
    Colors.amber,
    Colors.green,
    Colors.blue,
    Colors.grey,
    Colors.redAccent,
    Colors.pink,
    Colors.orange,
  ];

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: SingleChildScrollView(
        child: ListView.builder(
          shrinkWrap: true,
          physics: ClampingScrollPhysics(),
          padding: const EdgeInsets.only(top: 50),
          itemCount: _colors.length,
          itemBuilder: (BuildContext context, int index) {
            return Align(
              heightFactor: 0.6,
              child: Container(
                decoration: BoxDecoration(
                    color: _colors[index],
                    borderRadius: BorderRadius.all(Radius.circular(20))),
                alignment: Alignment.center,
                padding: const EdgeInsets.all(30),
                child: Text(
                  'ITEM ${index}',
                  style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold),
                ),
              ),
            );
          },
        ),
      ),
    );

it will work, please check the out put它会工作,请检查输出

https://ibb.co/z25rBvf https://ibb.co/z25rBvf

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何使用 itemBuilder 选择最后点击的 ListTile 小部件? - How to use itemBuilder to select the last tapped ListTile widget? 如何在Flutter中将额外的参数传递给ListView.builder Widget的itemBuilder函数? - How to pass extra arguments to itemBuilder function of ListView.builder Widget in Flutter? "如何在 itemBuilder 中使用 for 循环" - how to use for loop inside itemBuilder flutter Flutter:当快照为空时,小部件消失 - Flutter: When the snapshot is empty the widget disappears Flutter ListView itembuilder 不会显示任何内容。 为什么? - Flutter ListView itembuilder won't show anything. Why? Flutter:基于网络图像尺寸的不同ListView ItemBuilder 布局 - Flutter: Different ListView ItemBuilder layouts based on Network image dimensions Flutter,ListView-&gt;Column 小部件树的页面上的垂直对齐列 - Flutter, vertical align column on page for a ListView->Column widget tree 是否可以在不使用 itembuilder 的情况下使用 Listview.seperated? - Is it possible to have a Listview.seperated without having to use a itembuilder? TextStyle不适用于ListView itemBuilder - TextStyle not applied to ListView itemBuilder Flutter:如何调整 ListView 的子元素 ElevatedButton 的大小。 为什么我们可以在这种情况下使用 Align 小部件? - Flutter: How to adjust the size of ElevatedButton which is a child element of ListView. And why we can use Align widget at this situation?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM