[解決済み] React Nativeでキーボードの開閉を検出する方法
2023-07-28 15:39:26
質問
react nativeでユーザーがキーボードを閉じたかどうかを検出する方法。
とキーボードが開いていることを検出するために答えることができれば、それは感謝されます、ありがとう。
私はreact nativeの最新版で
version 0.56
どのように解決するのですか?
1. あなたは、使用することができます キーボードクラス facebookからです。
以下はサンプルコードです。
import React, { Component } from 'react';
import { Keyboard, TextInput } from 'react-native';
class Example extends Component {
componentWillMount () {
this.keyboardDidShowListener = Keyboard.addListener('keyboardDidShow', this._keyboardDidShow);
this.keyboardDidHideListener = Keyboard.addListener('keyboardDidHide', this._keyboardDidHide);
}
componentWillUnmount () {
this.keyboardDidShowListener.remove();
this.keyboardDidHideListener.remove();
}
_keyboardDidShow () {
alert('Keyboard Shown');
}
_keyboardDidHide () {
alert('Keyboard Hidden');
}
render() {
return (
<TextInput
onSubmitEditing={Keyboard.dismiss}
/>
);
}
}
###2. 他のnpmの依存関係も使用できます、例えば react-native-keyboard-listener .
コンポーネントを使用したいファイルにインポートします。
import KeyboardListener from 'react-native-keyboard-listener';
あなたのコードで直接コンポーネントを使用してください。コンポーネントは何もレンダリングしません
<View>
<KeyboardListener
onWillShow={() => { this.setState({ keyboardOpen: true }); }}
onWillHide={() => { this.setState({ keyboardOpen: false }); }}
/>
</View>
この依存関係をインストールするには、以下のコマンドを実行してください。
npm install --save react-native-keyboard-listener
より便利と思われるものをお選びください。
関連
-
[解決済み】React Nativeのバージョン不一致について
-
[解決済み] React NativeとReactの違いは何ですか?
-
[解決済み] React / React Nativeでコンストラクタを使用する場合とgetInitialStateを使用する場合の違いとは何ですか?
-
[解決済み] react-nativeでキーボードを隠す
-
[解決済み】React Native:「next」キーボードボタンを押した後、次のTextInputを選択するには?
-
[解決済み] react nativeでコンポーネントを隠す/表示する
-
[解決済み] React Nativeのエラー。"javaのバージョンを'9.0.1'から決定できませんでした。"
-
[解決済み] Xcode throws 'atomic_notify_one<unsigned long>' is unavailable
-
[解決済み] リアクトナビゲーションで異なるネストされたスタック間を移動する方法
-
[解決済み] モジュール `@babel/runtime/helpers/interopRequireDefault` を解決できない。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] React Nativeのエラー。"javaのバージョンを'9.0.1'から決定できませんでした。"
-
[解決済み] react nativeで<Text>のテキストを大文字にする方法
-
[解決済み] React Nativeのスタイルはグラデーションをサポートしていますか?
-
[解決済み] Xcode throws 'atomic_notify_one<unsigned long>' is unavailable
-
[解決済み] Error: Unable to resolve module `react-native-gesture-handler`.
-
[解決済み] React Nativeのプロジェクト名を変更しますか?
-
[解決済み] React Native のフラットリスト、カラム、最後のアイテム幅
-
[解決済み] React NativeのDEVとPRODの変数
-
[解決済み] Reduxでストアの単一のプロパティ変更にサブスクライブする
-
[解決済み] React Nativeで全幅の画像のアスペクト比を維持する