我是 flutter 的新手,我一直在寻找正确的分页结果 2 天。
我按照此代码Flutter ListView 延迟加载 但没有实现我想要的。看看下面的代码。
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
import 'dart:async';
import 'dart:convert';
main() => runApp(InitialSetupPage());
class InitialSetupPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: "API Pagination",
debugShowCheckedModeBanner: false,
theme: ThemeData(primarySwatch: Colors.green),
home: HomePage(),
);
}
}
class HomePage extends StatefulWidget {
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
int pageNum = 1;
bool isPageLoading = false;
List<Map<String, dynamic>> arrayOfProducts;
Future<List<Map<String, dynamic>>> _callAPIToGetListOfData() async { …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种将新项目插入列表视图的方法,同时保持用户的滚动偏移量。基本上像拉动刷新后的Twitter提要:将新项目添加到顶部,同时保持滚动位置。然后,用户可以向上滚动以查看新添加的项目。
如果我只是在开始时用几个新项重建列表/滚动小部件,则它当然会跳转,因为滚动视图内容的高度增加了。不能估计这些新项目的高度来纠正跳跃,因为新项目的内容是可变的。即使在提供索引以在任意位置动态插入项目的AnimatedList小部件,在插入索引0时也会跳转。
关于如何解决这个问题的任何想法?也许使用Offstage小部件预先计算新物品的高度?
嵌套滚动?
我有三个垂直页面PageView,我希望能够在它们之间翻转。页面由可滚动的ListViews组成。
当页面处于焦点时,显示的列表应该是垂直可滚动的,但是当列表滚动到任一端时,我希望 pageView 滚动接管滚动行为并处理页面翻转到下一页(就像带有可滚动元素的网页一样)。
下面的滚动列表示例。如果禁用列表滚动,则翻页有效。我怎样才能使两者都工作?
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
home: VerticalPageView(),
);
}
}
class VerticalPageView extends StatelessWidget {
VerticalPageView({Key key}) : super(key: key);
final PageController pageController = PageController();
final ScrollController scrollController = ScrollController();
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: PageView(
controller: pageController,
pageSnapping: true,
scrollDirection: Axis.vertical,
children: …Run Code Online (Sandbox Code Playgroud) 我希望在 flutter 中有一个 ListView,它提供两个方向(向上、向下)的延迟加载。
\n\n例子:
\n\n需要考虑的事项:
\n\n我尝试过的:
\n\n我希望这里有一些非常聪明的人可以帮助我解决这个问题;)。几天以来我已经在这个问题上进行搜索和尝试。谢谢!
\n\n更新\n为了让事情更清楚:这是一个用于上下滚动的延迟加载的 ListView 的示例(大部分代码由R\xc3\xa9mi Rousselet从/sf/answers/3465654461/复制) :
\n\nimport \'dart:math\';\n\nimport \'package:flutter/cupertino.dart\';\nimport \'package:flutter/material.dart\';\n\nclass MyHome extends StatefulWidget …Run Code Online (Sandbox Code Playgroud)