Android

안드로이드 키보드 설정 ( 뷰가 밀려날때 )

Machine_웅 2020. 2. 23. 22:14
728x90
반응형

이번 포스팅에서는 안드로이드 소프트 키보드 설정에 대해 알아보자.

(특히 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 개발자  |  Android Developers

Declares an activity (an Activity subclass) that implements part of the application's visual user interface. All activities must be represented by {@code } elements in the manifest file. Any that are not declared there will not be seen by the system…

developer.android.com

 

 

출처 :

https://parkho79.tistory.com/59

728x90
반응형

'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