You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
vishna opened this issue
Aug 22, 2024
· 5 comments
Labels
androidIssues or feature requests specific to the Android platform.bugSomething isn't workingiOSIssues or feature requests specific to the iOS platform.moderateIssues that are important for improving functionality or user experience.
Tap the text somewhere on the bottom half of the screen, e.g. where Create a Bujo of Ledger is
Expected results
Keyboard appears and I can see the cursor where I tapped:
Actual results
Keyboard appears but the cursor is hidden behind the keyboard as the text scroll position did not adjust.
Tapping any key on the keyboard will make cursor visible again.
Code sample
No response
Additional Context
Workaround
Here's something I came up real quick to mitigate this issue
Listen to keyboard visibility changes
If keyboard becomes visible
wait around 300ms for things to settle 😬
call ensureCursorVisible extension method on the controller (this will re-trigger positioning):
extensionQuillControllerInvisibleCursorFixonQuillController {
voidensureCursorVisible() {
if (selection.isCollapsed) {
final position = selection.end;
moveCursorToPosition(position);
}
}
}
Ideally this is handled by library, which should know cursor got pushed outside of viewport and react accordingly.
The text was updated successfully, but these errors were encountered:
I've examined the plugin a bit on iOS. The keyboard is reported as visible as soon as system knows the keyboard will appear (no difference between didShow, willShow) :
This in turn can cause wrong calculation of the offset in QuillRawEditorState._showCaretOnScreen since _scrollController.position.viewportDimension will not be updated to the shrunk size.
It would be nice to decouple flutter_quill library from the flutter_keyboard_visibility library (since it seems a bit stale) and make e.g. ValueNotifier<bool> keyboardVisible a field you need to provide to the editor. This way you could use any other implementation freely.
Other than that, I still wonder why we treat iOS Simulator differently from iOS. This leads to extra bug reports, doesn't it? 🤔 /cc @singerdmx
This is still an issue and I'm able to reproduce on both Android and iOS, physical and simulated.
EchoEllet
added
android
Issues or feature requests specific to the Android platform.
iOS
Issues or feature requests specific to the iOS platform.
moderate
Issues that are important for improving functionality or user experience.
labels
Nov 25, 2024
androidIssues or feature requests specific to the Android platform.bugSomething isn't workingiOSIssues or feature requests specific to the iOS platform.moderateIssues that are important for improving functionality or user experience.
Is there an existing issue for this?
Flutter Quill version
10.4.0
iOS simulator, (and some low end Android device)
Steps to reproduce
example
folderText
sampleCreate a Bujo of Ledger
isExpected results
Keyboard appears and I can see the cursor where I tapped:
Actual results
Keyboard appears but the cursor is hidden behind the keyboard as the text scroll position did not adjust.
Tapping any key on the keyboard will make cursor visible again.
Code sample
No response
Additional Context
Workaround
Here's something I came up real quick to mitigate this issue
ensureCursorVisible
extension method on the controller (this will re-trigger positioning):Ideally this is handled by library, which should know cursor got pushed outside of viewport and react accordingly.
The text was updated successfully, but these errors were encountered: