【问题标题】:Flutter reversed ListView start at topFlutter 反转 ListView 从顶部开始
【发布时间】:2019-12-21 06:43:23
【问题描述】:

我有一个ListView,它通常从顶部开始并且可以向下滚动,但我将reverse 设置为true,这是我需要的,但现在列表从底部开始。

如何设置起始位置,使其从顶部开始并向下滚动,尽管被反转?

所以基本上是这样的,日期顺序颠倒了,就像我需要的那样:

14th
12th
7th
6th
5th

但默认情况下,整个内容都会滚动到底部……所以除非我向上滚动,否则我看不到第 12 和第 14。

....off the top of the screen
7th
6th
5th
4th
3rd - starting position.

我需要它通过设置滚动开始位置从滚动到顶部开始。我希望这个描述能让它更清楚一点。

【问题讨论】:

    标签: listview flutter dart


    【解决方案1】:

    您也可以用这种方式颠倒显示顺序:注意((feed.length-1) - index) 数组索引。使用这种技术和你正在使用的东西的某种组合将产生你想要的东西。

    List<String> feed = List();
    
    feed.add("AAAA");
    feed.add("BBBB");
    feed.add("CCCC");
    
    ListView.builder(
      itemCount: feed.length,
      itemBuilder: (context, index) {
        return ListTile(title: feed[feed.length - 1 -index]);
      },
    );
    

    【讨论】:

    • 是的,效果很好,谢谢。不过应该是(feed.length -1) - index。我认为没有办法实际设置滚动开始位置,所以这个解决方法现在很好。
    • 好的,很高兴它对你有用。也许有人可以用一种方法来设置滚动位置。
    • 不,现在这很好,我已经调整了一切,现在使用这种方法工作。如果您修复了错误,我可以选择它作为最佳答案。
    • 这就是要找的东西
    【解决方案2】:

    将数据放入列表后,只需使用可迭代(列表)的反转属性即可。

    List<int> i = List();
    i.add(3);
    i.add(5);
    i.add(8);
    for (int j  in i.reversed) {
      print('$j');
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-03
      • 2019-04-24
      • 2021-07-31
      • 1970-01-01
      • 2017-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多