opt dyn/top sheet

Signed-off-by: dom <githubaccount56556@proton.me>
This commit is contained in:
dom
2026-07-31 18:49:36 +08:00
parent 1ded09f246
commit b5b15dbed6
10 changed files with 112 additions and 1201 deletions

View File

@@ -1,4 +1,6 @@
part of 'package:PiliPlus/common/widgets/flutter/draggable_scrollable_sheet.dart';
import 'package:flutter/gestures.dart' show Drag;
import 'package:flutter/material.dart';
class DynDraggableScrollableSheet extends DraggableScrollableSheet {
const DynDraggableScrollableSheet({
@@ -20,34 +22,21 @@ class DynDraggableScrollableSheet extends DraggableScrollableSheet {
_DynDraggableScrollableSheetState();
}
class _DynDraggableScrollableSheetState extends _DraggableScrollableSheetState {
class _DynDraggableScrollableSheetState extends DraggableScrollableSheetState {
@override
void initState() {
super.initState();
_extent = _DraggableSheetExtent(
minSize: widget.minChildSize,
maxSize: widget.maxChildSize,
snap: widget.snap,
snapSizes: _impliedSnapSizes(),
snapAnimationDuration: widget.snapAnimationDuration,
initialSize: widget.initialChildSize,
shouldCloseOnMinExtent: widget.shouldCloseOnMinExtent,
);
_scrollController = _DynDraggableScrollableSheetScrollController(
extent: _extent,
);
widget.controller?._attach(_scrollController);
void initScrollController() {
scrollController = _DynDraggableScrollableSheetScrollController(extent: extent);
}
}
class _DynDraggableScrollableSheetScrollController
extends _DraggableScrollableSheetScrollController {
extends DraggableScrollableSheetScrollController {
_DynDraggableScrollableSheetScrollController({
required super.extent,
});
@override
_DraggableScrollableSheetScrollPosition createScrollPosition(
DraggableScrollableSheetScrollPosition createScrollPosition(
ScrollPhysics physics,
ScrollContext context,
ScrollPosition? oldPosition,
@@ -62,7 +51,7 @@ class _DynDraggableScrollableSheetScrollController
}
class _DynDraggableScrollableSheetScrollPosition
extends _DraggableScrollableSheetScrollPosition {
extends DraggableScrollableSheetScrollPosition {
_DynDraggableScrollableSheetScrollPosition({
required super.physics,
required super.context,