상세 컨텐츠

본문 제목

안드로이드 editview 관련 스크린키보드가 Show 되어있는지 확인하기, OR 키보드 숨기기,보이기

스마트기기개발관련/안드로이드 개발

by AlrepondTech 2011. 6. 7. 17:11

본문

반응형

 

 

=================================

=================================

=================================

 

 

 

 


출처: http://maluchi.cafe24.com/xe/index.php?mid=MyAndroidTips&document_srl=26249

1. Hide 시키는 방법

1.EditText edit = (EditText)this.findViewById(R.id.edtUrl);
2. 
3.InputMethodManager  im = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
4.im.hideSoftInputFromWindow(edit.getWindowToken(), 0);

 

2. Show 시키는 방법

 

1.EditText edit = (EditText)this.findViewById(R.id.edtUrl);
2. 
3.InputMethodManager  im = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
4.im.showSoftInputFromInputMethod(edit.getApplicationWindowToken(), InputMethodManager.SHOW_FORCED);
5. 
6.or
7. 
8.im.showSoftInput(edit, 0);

 

//-----------------------------------------------------------------------------------


class Test.....
{

EditText  _editChat = new EditText (this);
................// EditText  이것저것 설정

  InputMethodManager  _immKeyboard = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);

getSystemService(Context.INPUT_METHOD_SERVICE);

// 키보드를 숨겨준다.

_immKeyboard.hideSoftInputFromWindow(_editChat.getWindowToken(), 0);

//키보드가 열려있는지 확인해 준다.

if(_immKeyboard.isAcceptingText())
 {
    // 확인
   
 }

}



 

 

=================================

=================================

=================================

 

 

춮처 : 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 작업 진행중입니다. 키보드 동작 관련해서 정리할 글입니다. 
잘못된 부분이나 추가할 부분있으면 알려주세요.




=================================

=================================

=================================

 

 

반응형


관련글 더보기

댓글 영역