0

TextInput에 포커스가있는 경우에도 소프트 키보드를 표시하지 않을 수 있습니까? 내 사용 사례는 키보드를 완전히 숨길 필요가 있다는 것입니다 (예를 들어 외장 키보드를 사용할 때와 같이).하지만 TextInput에 초점을 유지해야 정상적으로 사용할 수 있습니다 (캐럿 참조).React Native - Android에서 소프트 키보드를 영구적으로 사용하지 않음

lib를 해킹하는 것을 좋아하지 않지만 반응 네이티브 패키지의 textinput 폴더를 살펴본 결과 관련성이 있다고 생각되는 파일을 발견했습니다. 먼저이 하나

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에 플래그를 설정하여이 작업을 수행 할 수 있습니다.

열기 app/src/main에 대한과 MainActivity 변화에서 AndroidManifest.xml 파일 : 일반적인 경우 대부분은 그 활동에 대한 영구적으로 키보드를 사용하지 않아야합니다

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

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

에 안드로이드에 네이티브 네이티브 앱의 자세한 내용은 다음을 참조하십시오. https://developer.android.com/guide/topics/manifest/activity-element.html#wsoft

+0

제안 해 주셔서 감사합니다.하지만 불행히도 작동하지 않았습니다. 나는 또한'stateAlwaysHidden'을 시도했지만 어느 것도 작동하지 않았습니다. 이것들이 제가 시도한 첫 번째 옵션이라고 언급하는 것을 잊었습니다. – filster

+0

'windowSoftInputMode'는 포커스가 자동으로 할당 된 경우에만 작동하는 것으로 보입니까? (세 번째 답변은 여기) https://stackoverflow.com/questions/1109022/close-hide-the-android-soft-keyboard "... 기본적으로 Android는 자동으로 첫 번째 EditText 또는 포커스 가능한 컨트롤에 초기 포커스를 지정합니다. 기본적으로 InputMethod (일반적으로 소프트 키보드)는 포커스 이벤트에 응답하여 자동으로 표시됩니다. AndroidManifest.xml의 windowSoftInputMode 속성은 stateAlwaysHidden으로 설정되어 키보드가 자동으로 할당 된 초기 포커스를 무시하도록 지시합니다. " – filster