티스토리 뷰

반응형

 

이렇게 요청이 왔다 ㅎㅎ

( 자체개발앱이라서 애정이 있는 앱입니다 )

하,.. 고마우면서도 귀찮음이 동시에 몰려옴 ㅋㅋㅋ

 

가끔씩 요청사항이 오는 앱이긴 한데..

이번에 좀 색다로운 요청이라 포스팅 해봅니다~

 

핵심은 단축키 넣어달라인데 흠....

100% 이해가 되는 앱이긴 합니다

글자를 많이 적다보니 터치로만 하기에는 힘들긴 하죠..

 

 

그래서 구글링 해보니 있긴 있습니다~~~

@Override
    public boolean dispatchKeyEvent(KeyEvent event) {
        if (event.getAction() == KeyEvent.ACTION_UP && event.isShiftPressed()) {
            if (event.getKeyCode() == 22) { //->
                but_next.performClick();
            } else if (event.getKeyCode() == 21) { //<-
                but_prev.performClick();
            } else if (event.getKeyCode() == 30) { //b
                et_content.clearFocus();
            } else if (event.getKeyCode() == 20) { //아래쪽 화살표
                et_content.clearFocus();
                this.hideKeypad();
            } else if (event.getKeyCode() == 33) { //e
                this.contentClear();
            } else if (event.getKeyCode() == 29) { //a
                this.hideKeypad();
                but_showAnswer.performClick();
            } else if (event.getKeyCode() == 34) { //f
                et_content.requestFocus();
            }
        }
        return super.dispatchKeyEvent(event);
    }

onKeyUp & onKeyDown 등 api 함수들이 있는데

제일 먼저 검색된게 디스패치키이벤트 함수가 나왔네요

 

여튼 테스트 해보니 잘됩니다.

 

문제는 단축키라서 ctrl 또는 alt 키로 만드는데

이상하게 컨트롤, 알트키가 안먹힙니다???

 

이유는 모르기에 넘어가고 shift키는 먹힙니다;;

 

참고로 edittext에 포커스 잡힌상태에서는 단축키가 잘 안먹힙니다;;

edittext만 없으면 단축키 잘먹힙니다.

 

또. 키패드가 영문일땐 잘먹히는데 한글일땐 잘 안됩니다 ㅅㅂ........

또. 에뮬레이터에선 한/영 둘다 잘되는데 실제 디바이스에선 (한글에선) 잘 안됩니다 ㅋㅋㅋㅋㅋㅋ

 

추가로

            AlertDialog ad = builder.create();
            ad.setOnKeyListener((dialog, keyCode, event) -> {
                if (event.getKeyCode() == 33) { //e
                    ad.dismiss();
                }
                return false;
            });

dialog에도 단축키 먹히려면 이렇게 하심 되요.

 

 

블루투스 키보드 없으신 분은 스마트폰에 유선 키보드 연결하셔서 테스트 하시면 됩니다.

728x90
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
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
글 보관함