feat: add animation for floating toolbar (#7623)

This commit is contained in:
Morn 2025-03-27 13:28:35 +08:00 committed by GitHub
parent 584f762e11
commit 4686e13390
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 12 additions and 5 deletions

View File

@ -443,9 +443,11 @@ class _AppFlowyEditorPageState extends State<AppFlowyEditorPage>
color: Theme.of(context).cardColor, color: Theme.of(context).cardColor,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(6)), shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(6)),
), ),
toolbarBuilder: (context, child, onDismiss) => DesktopFloatingToolbar( toolbarBuilder: (context, child, onDismiss, isMetricsChanged) =>
DesktopFloatingToolbar(
editorState: editorState, editorState: editorState,
onDismiss: onDismiss, onDismiss: onDismiss,
enableAnimation: !isMetricsChanged,
child: child, child: child,
), ),
placeHolderBuilder: (_) => customPlaceholderItem, placeHolderBuilder: (_) => customPlaceholderItem,

View File

@ -2,6 +2,7 @@ import 'package:appflowy_editor/appflowy_editor.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_bloc/flutter_bloc.dart';
import 'toolbar_animation.dart';
import 'toolbar_cubit.dart'; import 'toolbar_cubit.dart';
class DesktopFloatingToolbar extends StatefulWidget { class DesktopFloatingToolbar extends StatefulWidget {
@ -10,11 +11,13 @@ class DesktopFloatingToolbar extends StatefulWidget {
required this.editorState, required this.editorState,
required this.child, required this.child,
required this.onDismiss, required this.onDismiss,
this.enableAnimation = true,
}); });
final EditorState editorState; final EditorState editorState;
final Widget child; final Widget child;
final VoidCallback onDismiss; final VoidCallback onDismiss;
final bool enableAnimation;
@override @override
State<DesktopFloatingToolbar> createState() => _DesktopFloatingToolbarState(); State<DesktopFloatingToolbar> createState() => _DesktopFloatingToolbarState();
@ -46,7 +49,9 @@ class _DesktopFloatingToolbarState extends State<DesktopFloatingToolbar> {
left: position!.left, left: position!.left,
top: position!.top, top: position!.top,
right: position!.right, right: position!.right,
child: widget.child, child: widget.enableAnimation
? ToolbarAnimationWidget(child: widget.child)
: widget.child,
), ),
); );
} }

View File

@ -90,8 +90,8 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
path: "." path: "."
ref: f46e991 ref: "8f314fd"
resolved-ref: f46e991d0a9c5a95bd14be4cc96e68171c9ed9bc resolved-ref: "8f314fda5981e650a52ba522ba7915e13940d837"
url: "https://github.com/AppFlowy-IO/appflowy-editor.git" url: "https://github.com/AppFlowy-IO/appflowy-editor.git"
source: git source: git
version: "5.1.0" version: "5.1.0"

View File

@ -180,7 +180,7 @@ dependency_overrides:
appflowy_editor: appflowy_editor:
git: git:
url: https://github.com/AppFlowy-IO/appflowy-editor.git url: https://github.com/AppFlowy-IO/appflowy-editor.git
ref: "f46e991" ref: "8f314fd"
appflowy_editor_plugins: appflowy_editor_plugins:
git: git: