2017년 8월 27일 일요일

[Android] NumberPicker : text blinking problem ( 선택된 문자 깜박임 방지 )

기본 NumberPicker를 사용하는 경우에, 선택된 문자를 터치하는 경우
깜박임이 발생한다.

깜박임을 방지하기 위해 다음과 같이 처리할 수 있다.


private void setNpbgFixxer( NumberPicker np ){
        try {
            Method method = np.getClass().getDeclaredMethod("changeValueByOne", boolean.class);
            method.setAccessible(true);
            method.invoke(np, true);
        } catch (NoSuchMethodException e) {
            e.printStackTrace();
        } catch (IllegalArgumentException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        }
        Field f = null;
        try {
            f =NumberPicker.class.getDeclaredField("mInputText");
        } catch (NoSuchFieldException e) {
            e.printStackTrace();
        }
        f.setAccessible(true);
        EditText inputText = null;
        try {
            inputText = (EditText)f.get(np);
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
        inputText.setFilters(new InputFilter[0]);
    }

댓글 없음:

댓글 쓰기