Android

Android Edit Text 키보드 Show/Hide Event Listener

Machine_웅 2023. 8. 29. 10:06
728x90
반응형

* 뷰의 포커스가 생겼을때 , 없어졌을 때를 이용하여 처리하는 편법...

android 11 미만 버전에서,  사용하려고 만들었습니다.  

참고만 해주세요 ...ㅠ ( 도저히 ,, 방법이 생각이 안났어요)

 

 

준비 :

AppCompatEditText

 를 상속 받은 커스텀 클래스를 사용 했습니다.

 

 

public class WoongEditText extends AppCompatEditText  {

    GSMenu_Inter callback;
    public WoongEditText(Context context) { super(context);
    }

    public WoongEditText(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public WoongEditText(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }


	// * 키코드에 따라 포커스를 뺏는데 활용 하세요
    @Override
    public boolean onKeyPreIme(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK ) {
            Log.d("WLOG_PHONE","KEYCODE_BACK ");
        }
        this.clearFocus();
        return super.onKeyPreIme(keyCode, event);
    }

   // 포커스를 뺏기거나 갖게 되면 이벤트를 콜백해 줄것입니다.
    @Override
    protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) {
        super.onFocusChanged(focused, direction, previouslyFocusedRect);
        if(this.callback != null){
            this.callback.onEdit_FocusChanged(focused);
        }
    }

    // 이벤트를 전달 받기위해 콜백을 셋팅..
    public void setCallback(GSMenu_Inter callback) {  this.callback = callback; }
}

 

포커스를 가진경우 =>   키보드가 나타난다 를 전제로 만든 소스입니다.

728x90
반응형

'Android' 카테고리의 다른 글

Android AsyncTask => RxJava  (0) 2023.09.05
Android System Font Scale 수정하기  (0) 2023.08.29
Android 키보드 숨기기 And EditText 포커스 없애기  (1) 2023.04.19
HandlerThread 대해서  (0) 2023.03.22
모듈 만들기  (0) 2023.01.30