반응형
=================================
=================================
=================================
출처: http://www.androidpub.com/1104990
FAQ : 프로그래밍적으로 키보드 숨김/감춤/보기. 액티비티 시작시 키보드 숨김/감춤/보기, EditText선택시 키보드 안뜨게하기 등 소프트 키보드 동작 관련 질문에 대한 답변
1. 키보드 감추기
EditText editText = (EditText) findViewById(R.id.myEdit);
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
2. 키보드 보여주기
EditText editText = (EditText) findViewById(R.id.myEdit);
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(editText, InputMethodManager.SHOW_FORCED);
위 코드로 안보이는 경우 아래코드도 시도해보세요
- imm.showSoftInputFromInputMethod (editText .getApplicationWindowToken(),InputMethodManager.SHOW_FORCED);
onCreate등에서 제대로 동작하지 않는다면
Handler로 post를 해서 위 코드를 실행시켜보세요.
3. 키보드 토글 - 위 두가지 방법으로 안되는 경우 다음과 같은 코드로 동작하는 경우가 있습니다.
imm.toggleSoftInputFromWindow(editText.getApplicationWindowToken(), InputMethodManager.SHOW_FORCED, 0);
4. 액티비티 시작시 자동으로 키보드 보여주기
AndroidManifest.xml의 activity 태그의 속성에 android:windowSoftInputMode="stateVisible" 혹은 "stateAlwaysVisible"삽입
5. 액티비티 시작시 자동으로 키보드 보여주지 않기
AndroidManifest.xml의 activity 태그의 속성에 android:windowSoftInputMode="stateHidden" 혹은 "stateAlwaysHidden" 삽입
6. 에디트 텍스트 선택해도 키보드 안뜨게 하기
EditText xml 속성에서 inputType 을 0으로 주면 안뜹니다.
반복되는 질문을 정리하는 FAQ 작업 진행중입니다. 키보드 동작 관련해서 정리할 글입니다.
잘못된 부분이나 추가할 부분있으면 알려주세요.
=================================
=================================
=================================
출처: http://www.androes.com/57
EditText 가 있으면 처음에 로딩시 기본적으로 포커싱이 작동되어 키보드(자판)가 나옵니다.
이를 안나오게 하기 위해 EditText Property 값을 아래와 같이 하니 텍스트 박스내 아예 입력이 되지 않더군요!!
ex1.
EditText et = (EditText)findViewById(R.id.searchBox);
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(et.getWindowToken(), 0);
ex2.
EditText et = (EditText)findViewById(R.id.searchBox);
et.setFocusable(false);
et.setFocusableInTouchMode(false);
해결책은 아래와 같습니다.(방식: 최초 로딩시 자판을 숨기고 텍스트 박스 선택시 자판 보이기)
EditText et = (EditText)findViewById(R.id.searchBox);
et.setInputType(0);
et.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
EditText et = (EditText)findViewById(R.id.searchBox);
et.setInputType(1);
}
});
etc. 기타 EditText Focus 관련 Property에 대해 설명 드리겠습니다.
* 키보드 숨기기
EditText et = (EditText)findViewById(R.id.searchBox);
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(et.getWindowToken(), 0);
* 키보드 보이기
EditText et = (EditText)findViewById(R.id.searchBox);
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(et, 0);
=================================
=================================
=================================
반응형
'스마트기기개발관련 > 안드로이드 개발' 카테고리의 다른 글
안드로이드 editview 관련 스크린키보드가 Show 되어있는지 확인하기, OR 키보드 숨기기,보이기 (0) | 2011.06.07 |
---|---|
안드로이드 스크롤이 맨 아래에 갔을 때 이벤트 주는 법 (0) | 2011.06.07 |
안드로이드 상태바(StatusBar) 사이즈 구하기 (0) | 2011.06.01 |
안드로이드 레이아웃 뷰(view) 규칙 설정 테그내용 등등~ (0) | 2011.05.31 |
안드로이드 [Android]커스텀 뷰(Custom VIew)를 xml 에 커스텀위젯으로 적용시키기(xml 에 view추가 방법) (0) | 2011.05.25 |