>>EditText
setSelection( 위치)
커서 위치
setSelection( 시작위치, 끝위치 )
텍스트 선택
requestFocus()
포커스 주기
setInputType( type )
InputType.TYPE_NULL : 클릭해도 키보드 올라오지 않게..
InputType.TYPE_CLASS_NUMBER : 숫자자판
InputType.TYPE_TEXT_VARIATION_PASSWORD : 영문자판
> 요건 단말의 IME 에 따라 달라질 수 있음
setImeOption ( android:imeOptions )
입력 키보드의 옵션과 액션을 설정할 수 있다.
액션에 따라 키보드의 엔터, 다음, 검색 등의 완료 버튼이 적용된다.
해당 액션은 액션 리스너에서 판단 할 수 있다.
EditorInfo.IME_ACTION_DONE
EditorInfo.IME_ACTION_SEARCH
EditorInfo.IME_ACTION_GO
EditorInfo.IME_ACTION_SEND
EditorInfo.IME_ACTION_NEXT
.
.
.
addOnEditorChangedListener
에디터 내용 변경 리스너 추가
setOnEditorActionListener
키보드의 액션에 대한 리스너 등록
setOnFocusChangedListener
포커스 리스너
>> InputMethodManager
imm = (InputMethodManager) getSystemService( Context.INPUT_METHOD_SERVICE);
키보드 보이기 - 플래그에 따라 onReceiveResult 가 호출되는 경우가 달라 지는데, 보여질때는 동일.
일반적인 경우.
imm.showSoftInput( mEditText , 플래그 );
0
SHOW_FORCED
SHOW_IMPLICIT
지정된 입력기를 띄우도록 하는 방법으로도 키패드가 올라온다.
사전에 input method를 등록한 경우에 사용 가능하다.
imm.showSoftInputFromMethod( mEditText.getWindowToken(),
InputMethodManager.SHOW_FORCE );
숨기기
일반적인 숨기기
imm.hideSoftInputFromWindow( mEditText.getWindowToken(), 플래그 );
또는
imm.hideSoftInputFromIputMethod( mEditText.getWindowToken(), 플래그 );
차이점은 윈도우에게 보여지는 입력기를 숨겨달라는 것과, 현재 입력기에게 숨기라고 요청하는 것이다. 서로 다른 입력기가 뜨는 경우는 활성화된 입력기에게 hide 요청을 해야 한다.
해당 바인더의 입력기를 토글하는 방법으로도 숨길 수 있다.
현재 보이고 있을때는 hide flag가 실행된다.
숨길때에는 imm.isActive() 를 검사해 사용한다.
imm.toggleSoftInputFromWindow( mEditText.getWindowToken(), show flag, hide flag );
플래그 값은 보통 0 이나 SHOW_IMPLICIT , SHOW_FORCE / HIDE_IMPLICIT_ONLY, HIDE_NOT_ALWAYS 등이 사용된다.
>>메니페스트에서의 설정 android:windowSoftInputMode="모드"
stateVisible : 자동 보이기
stateHidden : 자동으로 보이지 않음
stateAlwaysHidden : 에디터외에 포커스가 있을때 숨기기
adjustPan : 키보드 보일때 레이아웃이 유지됨
adjustResize : 키보드에 따라 레이아웃 조정
>>윈도우 매니저를 통한 키보드 관련 설정
getWindow().setSoftInputMode( WindowManager.LayoutParams.SOFT_INPUT_STATE_... )
http://m.blog.daum.net/undyingheart/17397971
## 이블로그는 어디까지는 찾았던 부분을 잊지 않기 위해 올려놓은 것 입니다.
내용이 부실해도 이해해 주시길 바랍니다.
'나의 플랫폼 > 안드로이드' 카테고리의 다른 글
[Android] Set recyclerView span dynamically (0) | 2015.11.20 |
---|---|
[Android] showSoftInput 와 hideSoftInputFromWindow 테스트 (0) | 2015.11.20 |
[Android] 앱을 종료 하고자 할때 (1) | 2015.11.20 |
[Apache] Http 관련 라이브러리 사용시 주의사항!! (0) | 2015.11.19 |
[Android] SNS로 데이터 공유하기 (7) | 2015.11.18 |