-
[React-Native][Android] keyboard가 레이아웃에 영향안주는 방법React-Native 2022. 6. 15. 20:51
TextInput을 사용할 때 android 일 경우에 키보드가 레이아웃 화면의 비율에 영향을 주는 경우가 있다.
이런 경우에는 설정해 놓은 레이아웃 비율이 깨지거나 화면 잘림이 발생하는데
android 설정을 해주면 해결이 된다.
android/app/src/main/AndroidManifest.xml
<manifest ...> {...} <application {...} > <activity {...} android:windowSoftInputMode=" 들어갈 특성 "> {...} </activity> {...} </application> </manifest>
특성 종류
특성 설명 stateUnspecified (Default) 시스템이 적절한 키보드 상태를 설정해줍니다. stateUnchanged 활동이 앞으로 나올 때 소프트 키보드가 마지막으로 사용된 상태(숨김 또는 표시)를 유지합니다. stateHidden 액티비티를 실행했을 때 키보드가 자동으로 올라오는것을 방지합니다. stateAlwaysHidden 활동의 기본 창에 입력 포커스가 있는 경우 소프트 키보드가 항상 숨겨집니다. stateVisible 액티비티를 실행하면 키보드가 자동으로 올라옵니다. stateAlwaysVisible 창이 입력 포커스를 받으면 소프트 키보드가 표시됩니다. adjustUnspecified 시스템이 알아서 상황에 맞는 옵션을 설정해줍니다. adjustResize 키보드가 올라갈 때 액티비티의 크기를 조정해줍니다. adjustPan 키보드가 올라올 때 UI화면도 같이 위로 올라갑니다. adjustNothing 레이아웃에 영향을 주지 않고 키보드가 위로 올라옵니다. android 설정을 바꾼 뒤에는 npm run android를 통해 앱을 다시 실행해줘야 적용이 됩니다.
참고
https://developer.android.com/guide/topics/manifest/activity-element.html#wsoft
Android 개발자 | Android Developers
애플리케이션의 시각적 사용자 인터페이스 일부를 구현하는 활동(Activity 서브클래스)을 선언합니다. 모든 활동은 매니페스트 파일의 {@code} 요소로 나타내야 합니다. 여기에 선언되지 않은 활동
developer.android.com
[Android/안드로이드] 키보드로 액티비티 화면 조정 adjustPan
키보드를 올렸을 때 안에 있는 레이아웃이 전체적으로 움직이거나 고정시키고 싶을 때가 있습니다. 이번 포스팅에서는 키보드의 영향에 따라 레이아웃을 조정하는 코드를 작성해보겠습니다.
lakue.tistory.com
'React-Native' 카테고리의 다른 글
[React-Native] patch-package 셋팅 및 사용법 (0) 2022.11.07 [React-Native] 키보드의 크기의 정보를 받고 싶을 때 (0) 2022.06.16 [React-Native] AsyncStorage 사용하기 (0) 2022.06.12 [React-Native] State VS Props (0) 2022.06.09 [React-Native] react-native-image-picker 사용법 (0) 2022.06.05