opt dyn topic

opt member opus

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-05-18 17:46:42 +08:00
parent 0de2603e30
commit 40502e3bff
11 changed files with 55 additions and 18 deletions

View File

@@ -11,6 +11,8 @@ import 'package:PiliPlus/pages/common/common_data_controller.dart';
import 'package:PiliPlus/utils/request_utils.dart';
import 'package:PiliPlus/utils/storage.dart';
import 'package:PiliPlus/utils/utils.dart';
import 'package:extended_nested_scroll_view/extended_nested_scroll_view.dart'
show ExtendedNestedScrollViewState;
import 'package:flutter/material.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:get/get.dart';
@@ -48,6 +50,9 @@ class MemberController extends CommonDataController<SpaceData, SpaceData?>
final fromViewAid = Get.parameters['from_view_aid'];
final key = GlobalKey<ExtendedNestedScrollViewState>();
int offset = 120;
@override
void onInit() {
super.onInit();

View File

@@ -28,8 +28,6 @@ class _MemberPageState extends State<MemberPage> {
late final int _mid;
late final String _heroTag;
late final MemberController _userController;
final _key = GlobalKey<ExtendedNestedScrollViewState>();
int _offset = 120;
@override
void initState() {
@@ -46,7 +44,7 @@ class _MemberPageState extends State<MemberPage> {
void listener() {
if (_userController.scrollController.hasClients) {
_userController.showUname.value =
_userController.scrollController.offset >= _offset;
_userController.scrollController.offset >= _userController.offset;
}
}
@@ -169,7 +167,7 @@ class _MemberPageState extends State<MemberPage> {
? LayoutBuilder(
builder: (context, constraints) {
return ExtendedNestedScrollView(
key: _key,
key: _userController.key,
controller: _userController.scrollController,
onlyOneScrollInBody: true,
pinnedHeaderSliverHeightBuilder: () {
@@ -213,7 +211,7 @@ class _MemberPageState extends State<MemberPage> {
tabs: _userController.tabs,
onTap: (value) {
if (_userController.tabController?.indexIsChanging == false) {
_key.currentState?.outerController.animToTop();
_userController.key.currentState?.outerController.animToTop();
}
},
),
@@ -253,7 +251,8 @@ class _MemberPageState extends State<MemberPage> {
toolbarHeight: kToolbarHeight + MediaQuery.paddingOf(context).top,
flexibleSpace: _buildUserInfo(_userController.loadingState.value, isV),
callback: (value) {
_offset = (value - 56 - MediaQuery.paddingOf(context).top).toInt();
_userController.offset =
(value - 56 - MediaQuery.paddingOf(context).top).toInt();
listener();
},
);