티스토리 뷰

코니 79입니다.안드로이드 자동 포커스를 제거 하거나 키보드 제거및 숨김 처리 기능을 가끔 사용할때가 있습니다.

참고 바랍니다.


키보드 관련 팁(EditText에 자동 포커스 제거, 키보드 제거 및 숨김)

- EditText에 자동 포커스 제거 

엑티비티가 실행되면서 자동으로 EditText에 포커스가 가는데 

이를 제거하고 싶다면 EditText 의 상위 Layout에 다음과 같은 속성을 추가해준다. 


android:focusable="true" 

android:focusableInTouchMode="true" 

- 초기 키보드 자동 실행 제거 

엑티비티 호출시 키보드가 자동으로 실행되는 것을 막고 싶다면 

AndroidMenifest.xml에 해당 Activity 속성에 아래 속성을 추가해 주면 된다. 

android:windowSoftInputMode="stateAlwaysHidden" 

- 영문 키보드 띄우기 

android:privateImeOptions="defaultInputmode=english;symbol=true" 

- 키보드 숨기기 

EditText editText = (EditText) findViewById(R.id.txtEdit); 

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

im.hideSoftInputFromWindow(editText.getWindowToken(), 0); 

- 키보드 숨기기 function 

    public static void HideKeyboard(Activity activity) 

    { 

        InputMethodManager im = (InputMethodManager) activity.getSystemService(activity.INPUT_METHOD_SERVICE); 

        im.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), 0); 

    }

- 키보드 토글 - 위 두가지 방법으로 안되는 경우 다음과 같은 코드로 동작하는 경우가 있습니다.

imm.toggleSoftInputFromWindow(editText.getApplicationWindowToken(),  InputMethodManager.SHOW_FORCED, 0); 

- 에디트 텍스트 선택해도 키보드 안뜨게 하기

EditText xml 속성에서 inputType 을 0으로 주면 안뜹니다.

댓글
댓글쓰기 폼
광고위치
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
72,929
Today
4
Yesterday
214
링크
«   2018/10   »
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
글 보관함