추가 내용입니다.

 

앱 상단 상태바 ( Status Bar ) 를 없애면 아래 방법은 적용이 안됩니다.

상태바를 없애지 않아야 아래의 방법으로 키보드가 올라올시 뷰가 같이 키보드의 영역만큼 위로 올라갑니다.

 

다른 방법이 있다면 댓글로 알려주세요~!!

 

광고클릭은 포스팅 작성에 큰 힘이 됩니다!

728x90

 

 

1. AndroidManifest.xml파일에서 

android:windowSoftInputMode="adjustResize" 속성을 부여한다.

 

2. activity_main.xml 액티비티 레이아웃에서 ConstraintLayout 으로 설정하고 키보드로 보이지 않는 뷰를 하단으로 이어준다.

app:layout_constraintEnd_toEndOf="parent" )

 

 

스크린샷 참조

 

1. Manifest파일에서 해당 액티비티에 속성을 부여한다.

 

2. Constraint 밑에 뷰들을 배치시킨다.

 

Constraint를 하단으로 맞춰준다

 

 

 

<적용된 모습>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

windowSoftInputMode  속성 모음

 

 1. 설정 X : adjustUnspecified 와 stateUnspecified 가 적용 된다.

 

 2. adjustPan : 키보드가 올라오면 EditText에 맞춰 화면 UI가 실종 됩니다. (위 아래로 잘림)

 

 3. adjustResize : 키보드가 올라와도 EditText와 UI가 화면에 보이도록 Activity를 resize 한다.

 

 4. adjustUnspecified : 시스템이 알아서 상황에 맞는 옵션을 설정 한다. 키보드 조정에 대한 디폴트 값이다.

 

 5. stateHidden : Acitivty 실행 시 키보드가 자동으로 올라오는 것을 방지 한다.

 

 6. stateAlwaysHidden : Acitivty 실행 시 항상 키보드가 자동으로 올라오는 것을 방지 한다. (액티비티 이동 포함)

 

 7. stateVisible : Acitivty 실행 시 키보드가 자동으로 올라 온다. (EditText에 포커스 맞춰짐)

 

 8. stateAlwaysVisible : Acitivty 실행 시 항상 키보드가 자동으로 올라 온다. (EditText에 포커스 맞춰짐) (액티비티 이동 포함)

 

 9. stateUnchanged : 키보드를 마지막 설정 상태로 유지 한다.

 

 10. stateUnspecified : 키보드의 상태가 설정이 안된 상태이다. 시스템이 적절한 키보드를 상태를 설정해 주거나 테마에 따라 설정 해준다. 키보드 상태의 디폴트 값이다. 

+ Recent posts