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);