'soft keyboard'에 해당되는 글 1건

  1. 2010.01.21 <activity android:windowSoftInputMode> 7
Android/정리2010. 1. 21. 12:01
Activity의 메인 윈도우에 어떻게 on-screen soft keyboard가 동작할것인지에 대한 방법을 기술한다.
이 설정은 두가지에 대해 영향을 준다.
 1. soft keyboard의 상태 - activity가 사용자의 포커스를 받을때 보여질지 숨겨질지
 2. activity의 메인윈도우를 조정할지 - soft keyboard의 크기를 줄이거나 soft keyboard에의 해 덮어씌워질때 윈도우 사이즈를 조정하거나 한다.

아래 나열한 값들 중에 하나이상을 나열할 수 있으며 "state.."값하나와 "adjust.."값 하나씩 사용할 수 있다.
각 그룹에 여러개의 값을 지정하는것은 정의되어 있지 않으며 각 값은 |로 분리하여 나열할 수 있다.

stateUnspecified : hidden 또는 visible을 지정하지 않음. 시스템이 알아서 선택하거나 theme의 값을 참조한다.
stateUnchanged : activity가 foreground로 올때 마지막 상태(visible, hidden)를 유지하고 있는다.
stateHidden : activity 실행중에 hidden이다. that is, when the user affirmatively navigates forward to the activity, rather than backs into it because of leaving another activity.
stateAlwaysHidden : activity가 focus를 가지고 있으면 무조건 softkeyboard는 hidden으로 함.
stateVisible : 일반적인 모드로 동작
stateAlwaysVisible : activity 실행중에 visible이다.  that is, when the user affirmatively navigates forward to the activity, rather than backs into it because of leaving another activity.

adjustUnspecified : resize나 pan하지 않는다. 메인윈도우의 디폴트셋팅이다. 시스템은 자동으로 하나의 모드를 선택하는데 자신의 콘텐츠를 스크롤할 수 있는 layout view를 윈도우가 가지고 있는지에 따라 결정된다. 만일 그런 view라면 윈도우는 resize되어 더 작은 영역에서 모든 윈도우의 콘텐츠가 스크롤되어 표시될수 있어야 한다.
adjustResize : Activity의 메인윈도우가 softkeyboard에 따라 항상 resize된다. 
adjustPan : Activity의 메인윈도우가 resize되지 않고 pan된다. 따라서 keyboard에 의해 현재 포커스가 가려지지 않아서 사용자는 항상 타이핑결과를 볼수가 있다. resizing옵션보다 권장되지 않는데 사용자는 윈도우상에 보이지 않는 부분을 보기 위해 softkeyboard를 닫아야 하기 때문이다. 


화면의 하단에 EditText가 하나 있다고 가정후 두 옵션의 차이점은 아래와 같다.
 1. adjustResize : 메인윈도우 사이즈가 줄어든다, 하지만 EditText는 보이지 않는다. 스크롤이 지원되면 스크롤하여 볼수는 있다.
 2. adjustPan : 메인윈도우 사이즈가 줄어들지 전체적으로 않고 EditText가 보이도록 위로 올라간다. EditText는 보이나 다른 UI가 보이지 않는다.







Posted by 삼스