Android WebView 에서 크기 조정 막대 숨 기기 (3.0 이하 에 적용)

1514 단어
본문 참고:
http://www.dewen.org/q/1883
최근 에 웹 뷰 를 사용 하 는 프로젝트 를 만 들 려 면 오른쪽 아래 에 있 는 확대 축소 바 를 차단 해 야 합 니 다. 여러 가지 방법 을 찾 아 보 았 지만 SetDisplayZoomControls 라 는 방법 이 있 습 니 다. 하지만 API Level 11 만 사용 할 수 있 습 니 다. 즉, 3.0 이상 은 이 방법 을 직접 호출 할 수 있 습 니 다. 그러나 현재 대부분의 프로젝트 는 2.2 를 바탕 으로 합 니 다. So. 저 는 웹 뷰 의 onTouchEvent 를 바 꾸 어 보 았 지만 효과 가 뚜렷 하지 않 습 니 다.무심코 한 문장의 코드 를 보 았 는데, 결국 해 보 니, 뜻밖에도 되 었 다!
기 쁜 나머지 혼자 즐 기지 못 하고 이 코드 를 공유 합 니 다. 필요 한 사람 에 게 도움 이 되 기 를 바 랍 니 다.
public void setZoomControlGone(View view){
        Class<?> classType;
        Field field;
        try {
            classType = WebView.class;
            field = classType.getDeclaredField("mZoomButtonsController");
            field.setAccessible(true);
            ZoomButtonsController mZoomButtonsController = new ZoomButtonsController(view);
            mZoomButtonsController.getZoomControls().setVisibility(View.GONE);
            try {
                field.set(view, mZoomButtonsController);
            } catch (IllegalArgumentException e) {
                e.printStackTrace();
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            }
        } catch (SecurityException e) {
            e.printStackTrace();
        } catch (NoSuchFieldException e) {
            e.printStackTrace();
        }
    }

이 방법 은 Activity 에서 호출 되 는데 그 중의 형 참 view 는 WebView 를 말 하 는데 원 리 는 자바 의 반사 체 제 를 이용 한 것 이다.
본문 참고:
http://www.dewen.org/q/1883

좋은 웹페이지 즐겨찾기