안드로이드 웹뷰를 이용하여 Epub나 자체 html viewer를 꾸밀시, 페이지내(뷰어) 텍스트 선택이 필요한 경우가 있습니다.
아래 루틴을 사용하여 웹뷰 자체 텍스트 선택 화면을 활용할 수 있습니다.
구글링 도중에 찾은 것을 공유합니다.

    public void selectAndCopyText() {

        try {

            Method m = WebView.class.getMethod("emulateShiftHeld"null)

            m.invoke(webViewnull);

        } catch (Exception e) {

            e.printStackTrace();

            KeyEvent shiftPressEvent = new KeyEvent(0,0,

                 KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_SHIFT_LEFT,0,0);

            shiftPressEvent.dispatch(this);

        }

    }

=====================================================================================
위의 내용은 구글링하면서 찾은 내용입니다.
위에서 보면   KeyEvent shiftPressEvent = new KeyEvent(0,0, KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_SHIFT_LEFT,0,0);
란 부분이 있습니다.
여기서 보면 KeyEvent를 생성하여 강제적으로 ACTION_DOWN이라는 이벤트를 통해, 항상 Down Event가 들어가도록 되어 있으며, 두번째 인자인 KeyCode에서의 
KEYCODE_SHIFT_LEFT 라는 부분에 의해 SHIFT 키를 호출함 으로써, 항상 SHIFT KEY가 눌러져 있다는 KeyEvent를 생성하게 되는 것입니다.

KEYCODE_SHIFT_LEFT 의 역할은  키보드에서의 SHIFT키를 뜻합니다.
LEFT 또는 RIGHT이 있으며, 이는 둘중 아무거나 사용해도 상관 없습니다. 

+ Recent posts