From 4e8ca590b4853b16add6813a707bb0a6006377d5 Mon Sep 17 00:00:00 2001 From: guozhigq Date: Mon, 25 Dec 2023 22:33:55 +0800 Subject: [PATCH] =?UTF-8?q?mod:=20=E5=AA=92=E4=BD=93=E5=BA=93=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E9=9A=90=E8=97=8F=E5=BA=95=E6=A0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pages/media/controller.dart | 1 + lib/pages/media/view.dart | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/lib/pages/media/controller.dart b/lib/pages/media/controller.dart index 06522eeb..8b875511 100644 --- a/lib/pages/media/controller.dart +++ b/lib/pages/media/controller.dart @@ -36,6 +36,7 @@ class MediaController extends GetxController { ]; var userInfo; int? mid; + final ScrollController scrollController = ScrollController(); @override void onInit() { diff --git a/lib/pages/media/view.dart b/lib/pages/media/view.dart index c621c2dc..9bfac15c 100644 --- a/lib/pages/media/view.dart +++ b/lib/pages/media/view.dart @@ -1,7 +1,11 @@ +import 'dart:async'; + import 'package:flutter/material.dart'; +import 'package:flutter/rendering.dart'; import 'package:get/get.dart'; import 'package:pilipala/common/widgets/network_img_layer.dart'; import 'package:pilipala/models/user/fav_folder.dart'; +import 'package:pilipala/pages/main/index.dart'; import 'package:pilipala/pages/media/index.dart'; import 'package:pilipala/utils/utils.dart'; @@ -25,12 +29,32 @@ class _MediaPageState extends State super.initState(); mediaController = Get.put(MediaController()); _futureBuilderFuture = mediaController.queryFavFolder(); + ScrollController scrollController = mediaController.scrollController; + StreamController mainStream = + Get.find().bottomBarStream; mediaController.userLogin.listen((status) { setState(() { _futureBuilderFuture = mediaController.queryFavFolder(); }); }); + scrollController.addListener( + () { + final ScrollDirection direction = + scrollController.position.userScrollDirection; + if (direction == ScrollDirection.forward) { + mainStream.add(true); + } else if (direction == ScrollDirection.reverse) { + mainStream.add(false); + } + }, + ); + } + + @override + void dispose() { + mediaController.scrollController.removeListener(() {}); + super.dispose(); } @override @@ -40,6 +64,7 @@ class _MediaPageState extends State return Scaffold( appBar: AppBar(toolbarHeight: 30), body: SingleChildScrollView( + controller: mediaController.scrollController, child: Column( children: [ ListTile(