Reputation: 303
Is it possible not to show the soft keyboard even when the TextInput gets focused? My use case is that I need to hide the keyboard completely (for example like when you use some external keyboard) but I need to retain focus on the TextInput so I can use it normally (see the caret and so).
I don't like hacking libs, but I looked inside the textinput
folder in the react-native package and found some files which I thought could be relevant. First this one:
I replaced the code on line 96 with this:
editText.setInputType(InputType.TYPE_NULL);
editText.setTextIsSelectable(true);
but unfortunately it didn't work.
Then I found this file:
And commented out the line 215, but again, it didn't help.
Could anybody point me in a correct direction about how to get this done? Thanks.
Upvotes: 1
Views: 1396
Reputation: 21
You can do it by adding an attribute to the textinput "showsoftinputonfocus" to false
More info on implementation https://techythought.com/home/detail/Disable_keyboard_for_textinput_in_React-native
Upvotes: 2
Reputation: 544
You can do this by setting a flag on the MainActivity
in the /android
part of the project.
Open the AndroidManifest.xml
file for app/src/main
and under the MainActivity
change:
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
android:windowSoftInputMode="adjustResize">
to this
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
android:windowSoftInputMode="stateHidden">
That should disable the keyboard permanently for that Activity, which in the general case is the bulk of your React Native app on Android. For more information see: https://developer.android.com/guide/topics/manifest/activity-element.html#wsoft
Upvotes: 0