이번 포스팅에서는 안드로이드 소프트 키보드 설정에 대해 알아보자.
(특히 layout 을 조정하는 adjustXXX 를 자세히 보자!)
How to
◼ AndroidManifest.xml
<activity
android:name=".PhMainActivity"
android:windowSoftInputMode="adjustNothing">
activity>
◼ Java code
public class PhMainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getWindow().setSoftInputMode(LayoutParams.SOFT_INPUT_ADJUST_NOTHING);
}
}
adjustPan
소프트 키보드에 의해 EditText 가 가려지지 않도록 위쪽으로 이동.
하단 그림과 같이 위, 아래가 잘리게 된다.
adjustResize
소프트 키보드가 보이도록 공간을 확보하기 위해 activity window 을 resize 한다.
하단 그림과 같이 위, 아래 모두 표시된다.
adjustUnspecified
시스템이 상황에 맞게 'adjustPan' or 'adjustResize' 를 결정한다.
소프트 키보드의 기본 값이다.
adjustNothing
Layout 에 어떤 영향도 주지 않고 소프트 키보드가 올라온다.
하단 그림과 같이 EditText 까지 가릴 수 있다.
stateHidden
Acitivty 실행 시 키보드가 자동으로 올라오지 않는다.
stateAlwaysHidden
Acitivty 실행 시 항상 키보드가 자동으로 올라오지 않는다.
액티비티 이동 포함
stateVisible
Acitivty 실행 시 키보드가 자동으로 올라 온다.
EditText에 포커스 맞춰짐
stateAlwaysVisible
Acitivty 실행 시 항상 키보드가 자동으로 올라 온다.
EditText에 포커스 맞춰짐, 액티비티 이동 포함
stateUnchanged
키보드를 마지막 설정 상태로 유지 한다.
stateUnspecified
시스템이 적절한 키보드를 상태를 설정해 주거나 테마에 따라 설정 해준다.
소프트 키보드 상태의 기본 값이다.
Ref
출처 :
'Android' 카테고리의 다른 글
list View Adapter ViewHolder (0) | 2020.04.11 |
---|---|
안드로이드 앱내에서 언어변경 (0) | 2020.04.07 |
안드로이드 커스텀뷰 2) onDraw 방식 (0) | 2020.02.10 |
안드로이드 커스텀 뷰 1) (0) | 2020.02.10 |
SQLite 정리된 블로그 (0) | 2019.11.21 |