0

TextInputにフォーカスがあってもソフトキーボードを表示しないことは可能ですか?私が使用するケースは、キーボードを完全に隠す必要があることです(たとえば、外付けキーボードを使用する場合など)が、TextInputにフォーカスを置いて通常使用できるようにする必要があります(キャレットなど参照)。React Native - Androidでソフトキーボードを永久に無効にする

私はlibをハッキングするのが好きではありませんが、反応ネイティブパッケージのtextinputフォルダ内を調べて、関連性があると思われるファイルが見つかりました。まず、この1:

https://github.com/facebook/react-native/blob/1e8f3b11027fe0a7514b4fc97d0798d3c64bc895/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java#L96

私はこれでライン96上のコードに置き換え:

editText.setInputType(InputType.TYPE_NULL); editText.setTextIsSelectable(true);

を残念ながら、それは動作しませんでした。

は、その後、私は、このファイルが見つかりました:

https://github.com/facebook/react-native/blob/1e8f3b11027fe0a7514b4fc97d0798d3c64bc895/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java#L215

をそしてライン215をコメントアウト、しかし、再び、それは助けにはなりませんでした。

これを行う方法について、誰かが正しい方向を指してくれますか?ありがとう。

答えて

0

これは、プロジェクトの/android部分のMainActivityにフラグを設定することで実行できます。一般的な場合にバルクである活動、のための恒久的キーボードを無効にする必要があり、この

<activity 
    android:name=".MainActivity" 
    android:label="@string/app_name" 
    android:configChanges="keyboard|keyboardHidden|orientation|screenSize" 
    android:windowSoftInputMode="stateHidden"> 

<activity 
    android:name=".MainActivity" 
    android:label="@string/app_name" 
    android:configChanges="keyboard|keyboardHidden|orientation|screenSize" 
    android:windowSoftInputMode="adjustResize"> 

開きapp/src/mainおよびMainActivity変化下AndroidManifest.xmlファイルAndroidのReact Nativeアプリの詳細については、https://developer.android.com/guide/topics/manifest/activity-element.html#wsoft

+0

提案をお寄せいただきありがとうございます。残念ながら、動作しませんでした。私も 'stateAlwaysHidden'を試しましたが、どちらもうまくいきませんでした。これらが私が試みた最初の選択肢であることに言及することを忘れてしまった。 – filster

+0

'windowSoftInputMode'は、フォーカスが自動的に割り当てられている場合にのみ機能しますか? (3番目の答えはこちら)https://stackoverflow.com/questions/1109022/close-hide-the-android-soft-keyboard "...デフォルトでは、Androidは最初のEditTextまたはフォーカス可能なコントロールに初期フォーカスを自動的に割り当てますAndroidManifest.xmlのwindowSoftInputMode属性(stateAlwaysHiddenに設定されている)は、自動的に割り当てられたこの初期フォーカスをキーボードが無視するように指示します。 " – filster

関連する問題