From 5693c9bedab0bd91faa3cc2d5ca54669d90d3c67 Mon Sep 17 00:00:00 2001 From: guozhigq Date: Tue, 3 Dec 2024 23:07:44 +0800 Subject: [PATCH] fix: dynamic push & style --- lib/pages/dynamics/controller.dart | 12 +++-- .../dynamics/up_dynamic/route_panel.dart | 54 ++++++++++--------- lib/pages/dynamics/widgets/up_panel.dart | 1 + 3 files changed, 38 insertions(+), 29 deletions(-) diff --git a/lib/pages/dynamics/controller.dart b/lib/pages/dynamics/controller.dart index cdc08bdd..5b94ee20 100644 --- a/lib/pages/dynamics/controller.dart +++ b/lib/pages/dynamics/controller.dart @@ -117,20 +117,23 @@ class DynamicsController extends GetxController { /// 点击评论action 直接查看评论 if (action == 'comment') { Get.toNamed('/dynamicDetail', - arguments: {'item': item, 'floor': floor, 'action': action}); + arguments: {'item': item, 'floor': floor, 'action': action}, + preventDuplicates: false); return false; } switch (item!.type) { /// 转发的动态 case 'DYNAMIC_TYPE_FORWARD': Get.toNamed('/dynamicDetail', - arguments: {'item': item, 'floor': floor}); + arguments: {'item': item, 'floor': floor}, + preventDuplicates: false); break; /// 图文动态查看 case 'DYNAMIC_TYPE_DRAW': Get.toNamed('/dynamicDetail', - arguments: {'item': item, 'floor': floor}); + arguments: {'item': item, 'floor': floor}, + preventDuplicates: false); break; case 'DYNAMIC_TYPE_AV': String bvid = item.modules.moduleDynamic.major.archive.bvid; @@ -188,7 +191,8 @@ class DynamicsController extends GetxController { case 'DYNAMIC_TYPE_WORD': print('纯文本'); Get.toNamed('/dynamicDetail', - arguments: {'item': item, 'floor': floor}); + arguments: {'item': item, 'floor': floor}, + preventDuplicates: false); break; case 'DYNAMIC_TYPE_LIVE_RCMD': DynamicLiveModel liveRcmd = item.modules.moduleDynamic.major.liveRcmd; diff --git a/lib/pages/dynamics/up_dynamic/route_panel.dart b/lib/pages/dynamics/up_dynamic/route_panel.dart index 40c725a8..983a7fe0 100644 --- a/lib/pages/dynamics/up_dynamic/route_panel.dart +++ b/lib/pages/dynamics/up_dynamic/route_panel.dart @@ -1,3 +1,5 @@ +import 'dart:ui'; + import 'package:easy_debounce/easy_throttle.dart'; import 'package:get/get.dart'; import 'package:flutter/material.dart'; @@ -61,6 +63,7 @@ class _OverlayPanelState extends State void onClickUp(data, i, {type = 'click'}) { if (type == 'click') { + data.hasUpdate = false; pageController.jumpToPage(i); } } @@ -81,11 +84,11 @@ class _OverlayPanelState extends State color: Colors.transparent, borderRadius: BorderRadius.circular(20), ), - child: Column( - children: [ - SizedBox( - height: 50, - child: TabBar( + child: BackdropFilter( + filter: ImageFilter.blur(sigmaX: 8.0, sigmaY: 8.0), + child: Column( + children: [ + TabBar( controller: _tabController, dividerColor: Colors.transparent, automaticIndicatorColorAdjustment: false, @@ -106,25 +109,26 @@ class _OverlayPanelState extends State }); }, ), - ), - Expanded( - child: PageView.builder( - itemCount: upList.length, - controller: pageController, - itemBuilder: (BuildContext context, int index) { - return Container( - clipBehavior: Clip.antiAlias, - margin: const EdgeInsets.fromLTRB(10, 12, 10, 0), - decoration: BoxDecoration( - color: Theme.of(context).colorScheme.surface, - borderRadius: BorderRadius.circular(20), - ), - child: UpDyanmicsPage(upInfo: upList[index], ctr: widget.ctr), - ); - }, + Expanded( + child: PageView.builder( + itemCount: upList.length, + controller: pageController, + itemBuilder: (BuildContext context, int index) { + return Container( + clipBehavior: Clip.antiAlias, + margin: const EdgeInsets.fromLTRB(10, 12, 10, 0), + decoration: BoxDecoration( + color: Theme.of(context).colorScheme.surface, + borderRadius: BorderRadius.circular(20), + ), + child: + UpDyanmicsPage(upInfo: upList[index], ctr: widget.ctr), + ); + }, + ), ), - ), - ], + ], + ), ), ); } @@ -139,8 +143,8 @@ class _OverlayPanelState extends State duration: const Duration(milliseconds: 200), scale: currentMid == data.mid ? 1 : 0.9, child: NetworkImgLayer( - width: contentWidth, - height: contentWidth, + width: 46, + height: 46, src: data.face, type: 'avatar', ), diff --git a/lib/pages/dynamics/widgets/up_panel.dart b/lib/pages/dynamics/widgets/up_panel.dart index dedb51bb..01ef9a61 100644 --- a/lib/pages/dynamics/widgets/up_panel.dart +++ b/lib/pages/dynamics/widgets/up_panel.dart @@ -44,6 +44,7 @@ class _UpPanelState extends State { void onClickUp(data, i) { currentMid.value = data.mid; + data.hasUpdate = false; Navigator.push( context, PlPopupRoute(