Hyun Chul's Utopia

엑티비티 상에서 키보드의 스타일 지정 본문

프로그래밍/Android

엑티비티 상에서 키보드의 스타일 지정

디프시다루핀 2011. 10. 4. 23:03
  제목 그대로 엑티비티 상에서 가상 키보드의 스타일을 정의 합니다. 이를 가능케 하는 가장 간단한 방법이 "AndroidManifest.xml" 파일에서 XML코드를 수정하는 방법입니다.

  우선 적용 하고자 하는 엑티비티가 기술되어 있는 부분을 찾은 뒤 아래와 같은 옵션을 추가해 주면 됩니다.
 
windowSoftInputMode

예를 들면 아래와 같이 되겠네요.

 


 이렇게 값을 주게되면 가상 키보드가 올라와야 할 부분을 선택시(예를들면 EditText 선택) 레이아웃의 배치는 그대로 유지가 된 상태로 그 위에 가상 키보드가 올라오게 되어 있습니다.

  샘플로 만든 화면을 보면 이해가 쉽겠네요.. 아래와 같은 원본 화면과 위의  windowSoftInputMode="adjustPan" 옵션의 유무에 따라 변된 모습을 확인할 수 있습니다.

 


  위와 같이  android:windowSoftInputMode="adjustPan" 값을 설정 함을로서 키보드의 배치와 관련한 지시를 할 수 있게 됩니다.

  "adjustPan" 이 외에도 더 많은 설정값을 제공하는데요 해당 목록은 아래와 같습니다.

stateUnspecified : 설정값 없음, System에서 알아서 설정하거나 기존의 Theme 값을 따른다.
stateUnchanged : 이전의 셋팅값을 유지한다.
stateHidden : 엑티비티 진입 시에 가상 키보드를 숨긴다.
stateAlwaysHidden : 가상 키보드를 항상 숨긴다.
stateVisible : 엑티비티 진입시 적절한 상황이면 가상 키보드를 보여준다.
stateAlwaysVisible : 엑티비티 진입 시에 가상 키보드를 보여준다.
adjustUnspecified : 설정값 없음. System에서 알아서 설정한다.
adjustResize : 엑티비티를 리사이즈 시켜 가상 키보드를 보여준다.
adjustPan : Window의 Focus가 Input Focus 에 맞추어 이동해서 보여준다.


기타 자세한 내용은 안드로이드 개발자 페이지에 기술 되어 있습니다.
http://developer.android.com/guide/topics/manifest/activity-element.html#wsoft

Comments