Closed lpylpyleo closed 1 year ago
When a PageView is a ListView's child, EasyRefresh added refresh to it automatically, which is not my intention.
sample:
import 'package:easy_refresh/easy_refresh.dart'; import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: ThemeData( primarySwatch: Colors.blue, ), home: const MyHomePage(title: 'Flutter Demo Home Page'), ); } } class MyHomePage extends StatefulWidget { const MyHomePage({super.key, required this.title}); final String title; @override State<MyHomePage> createState() => _MyHomePageState(); } class _MyHomePageState extends State<MyHomePage> { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(widget.title), ), body: Center( child: EasyRefresh( onRefresh: () {}, child: ListView( children: [ SizedBox( height: 200, child: PageView.builder( itemBuilder: (BuildContext context, int index) { final colors = [ Colors.red, Colors.yellow, Colors.green, Colors.blue, ]; return Container( color: colors[index % colors.length], ); }, ), ), ], ), ), ), ); } }
Current workaround, add physics to PageView.
physics
PageView
physics: const PageScrollPhysics(),
Use EasyRefresh.builder
When a PageView is a ListView's child, EasyRefresh added refresh to it automatically, which is not my intention.
sample: