[ReactNative Android] keypad 로 인해 element 들이 밀려 올라올때

2288 단어 UI.logUI.log

input을 넣게 되면 작동할 때 keypad가 뜨기 마련이다.
아이폰에선 이 keypad가 screen위로 올라오는데 ( keypad가 UI 가림)
안드로이드에선 keypad screen을 분할하는 것처럼 뜨게 된다 ( keypad가 UI를 위로 밀어냄)

예시를 보여주자면,
이러한 회원가입창이 있다고 했을 때, 아이디를 입력하려고 input을 누르는 순간, (인증하기) 버튼이 위로 올라온다는 것.

이는 안드로이드에서 keypad가 올라오면 view를 resize 해주기 때문이라고 한다.

이걸 해결하는 방법은
android > app > src > main > AndroidManifest.xml
에서

<activity 
   android:name=".MainActivity"
   ...
   android:windowSoftInputMode="adjustResize">

여기 보이는 "adjustResize" 를 "adjustPan" 으로 바꿔주면 된다.

<activity 
   android:name=".MainActivity"
   ...
   android:windowSoftInputMode="adjustPan">

이러면 keyboard 위로 올라오는 UI 때문에 고생할 필요가 없다!
ReactNative 프로젝트에선 adjustResize가 기본값이니 참고하시길.

좋은 웹페이지 즐겨찾기