mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Toolbar should re-appear on drag end (#125165)
#125151 introduced the magnifier on touch drag gestures, but when showing the magnifier the toolbar is implicitly hidden, this change makes the toolbar re-appear on drag end for double tap + drag.
This commit is contained in:
parent
dcfd35f8a7
commit
01b4dd5eee
@ -2850,6 +2850,10 @@ class TextSelectionGestureDetectorBuilder {
|
||||
final bool isShiftPressed = _containsShift(details.keysPressedOnDown);
|
||||
_dragBeganOnPreviousSelection = null;
|
||||
|
||||
if (_shouldShowSelectionToolbar && _TextSelectionGestureDetectorState._getEffectiveConsecutiveTapCount(details.consecutiveTapCount) == 2) {
|
||||
editableText.showToolbar();
|
||||
}
|
||||
|
||||
if (isShiftPressed) {
|
||||
_dragStartSelection = null;
|
||||
}
|
||||
|
||||
@ -2245,8 +2245,15 @@ void main() {
|
||||
await gesture.moveTo(hPos);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Toolbar should be hidden during a drag.
|
||||
expect(find.byType(CupertinoButton), findsNothing);
|
||||
expect(controller.selection.baseOffset, testValue.indexOf('d'));
|
||||
expect(controller.selection.extentOffset, testValue.indexOf('i') + 1);
|
||||
|
||||
// Toolbar should re-appear after a drag.
|
||||
await gesture.up();
|
||||
await tester.pump();
|
||||
expect(find.byType(CupertinoButton), isContextMenuProvidedByPlatform ? findsNothing : findsNWidgets(4));
|
||||
},
|
||||
);
|
||||
|
||||
|
||||
@ -9396,8 +9396,15 @@ void main() {
|
||||
await gesture.moveTo(hPos);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Toolbar should be hidden during a drag.
|
||||
expect(find.byType(TextButton), findsNothing);
|
||||
expect(controller.selection.baseOffset, testValue.indexOf('d'));
|
||||
expect(controller.selection.extentOffset, testValue.indexOf('i') + 1);
|
||||
|
||||
// Toolbar should re-appear after a drag.
|
||||
await gesture.up();
|
||||
await tester.pump();
|
||||
expect(find.byType(TextButton), isContextMenuProvidedByPlatform ? findsNothing : findsNWidgets(4));
|
||||
},
|
||||
);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user