티스토리 뷰

코니 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
82,474
Today
3
Yesterday
197
링크
«   2018/11   »
        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  
글 보관함