WebView에서 줌 컨트롤을 사용하고 핀치 줌을 사용하는 방법은 무엇입니까? 브라우저 앱은 스크롤 할 때 확대 /

Android 용 기본 브라우저 앱은 스크롤 할 때 확대 / 축소 컨트롤을 표시하고 핀치 확대 / 축소를 허용합니다. 내 웹뷰에이 기능을 어떻게 활성화 할 수 있습니까?

난 노력 했어:

webSettings.setBuiltInZoomControls(true);
webSettings.setSupportZoom(true);

그러나 그 결과 어떤 기능도 활성화되지 않습니다. Btw Webview에 a WebChromeClient와 a WebViewClient를 설정 하면 차이가 있습니다.

감사!



답변

이상한. OnCreate 메서드 내부에서 사용하고 있습니다.

webView.getSettings().setBuiltInZoomControls(true);

그리고 여기서 잘 작동합니다. 웹뷰에 특별한 것이 있습니까?


답변

이것을 사용하십시오 :

webview.getSettings().setBuiltInZoomControls(true);
webview.getSettings().setDisplayZoomControls(false);


답변

Webview를 감싸는 ScrollView 가 없는지 확인하십시오 .

제 경우에는 문제였습니다. ScrollView가 핀치 제스처를 방해하는 것처럼 보입니다.

이를 해결하려면 ScrollView 외부에서 Webview를 가져 가십시오 .


답변

OnCreate에 다음을 추가하십시오.

 webview.getSettings().setSupportZoom(true);
 webview.getSettings().setBuiltInZoomControls(true);
 webview.getSettings().setDisplayZoomControls(false);

html 문서 안에 다음을 추가하십시오.

<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2, user-scalable=yes">
</head>
</html>

자바 스크립트에서 생략 :

//event.preventDefault ? event.preventDefault() : (event.returnValue = false);


답변

WebView에서 확대 / 축소 컨트롤을 사용하려면 다음 줄을 추가하십시오.

webView.getSettings().setBuiltInZoomControls(true);

이 코드 줄을 사용하면 WebView에서 확대 / 축소를 사용할 수 있습니다. 제공된 확대 및 축소 버튼을 제거하려면 다음 코드 줄을 추가하십시오.

webView.getSettings().setDisplayZoomControls(false);


답변

이 코드를 사용해보십시오. 잘 작동합니다.

 webSettings.setSupportZoom(true);
 webSettings.setBuiltInZoomControls(true);
 webSettings.setDisplayZoomControls(false);


답변