From bf2313f161108b0d5df1732fb9b00feb314ca090 Mon Sep 17 00:00:00 2001 From: Oskar Eichler <62393985+OskarEichler@users.noreply.github.com> Date: Fri, 28 Aug 2026 01:55:22 +0300 Subject: [PATCH] fix(android): dismiss the keyboard once when dragging starts --- src/PagerView.tsx | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/PagerView.tsx b/src/PagerView.tsx index 5bb6401c..49773360 100644 --- a/src/PagerView.tsx +++ b/src/PagerView.tsx @@ -77,13 +77,6 @@ export class PagerView extends React.Component { if (this.props.onPageScroll) { this.props.onPageScroll(e); } - - // Not implemented on iOS yet - if (Platform.OS === 'android') { - if (this.props.keyboardDismissMode === 'on-drag') { - Keyboard.dismiss(); - } - } }; private _onPageScrollStateChanged = ( @@ -92,7 +85,16 @@ export class PagerView extends React.Component { if (this.props.onPageScrollStateChanged) { this.props.onPageScrollStateChanged(e); } - this.isScrolling = e.nativeEvent.pageScrollState === 'dragging'; + const isDragging = e.nativeEvent.pageScrollState === 'dragging'; + if ( + isDragging && + !this.isScrolling && + Platform.OS === 'android' && + this.props.keyboardDismissMode === 'on-drag' + ) { + Keyboard.dismiss(); + } + this.isScrolling = isDragging; }; private _onPageSelected = (