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(