안녕하세요
Tabhost를 사용한 webview를 사용합니다.
웹에서 input를 사용한 화면이 있는데 input를 선택을 하게되면 키보드가 나오면서 화면이 확대가 되어버립니다.
화면이 확대가 되면 안되는데 말이죠~~
화면 확대가 안되게 할 수 있을까요?
아래의 형태로 웹뷰는 구현했습니다.
mWebView = (WebView)findViewById(R.id.webView);
mWebView.loadUrl("http://mshop.rcsoft.co.kr/mobile/24login.html);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setWebViewClient(new WebViewClient());
mWebView.setFocusable(true);
mWebView.setFocusableInTouchMode(true);
mWebView.requestFocus(View.FOCUS_DOWN);
mWebView.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_UP:
if (!v.hasFocus()) {
v.requestFocus();
}
break;
}
return false;
}
});
mWebView.getSettings().setUseWideViewPort(true);
mWebView.setInitialScale(1);
mWebView.getSettings().setLoadWithOverviewMode(true);
mWebView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
mWebView.setScrollbarFadingEnabled(true);
mWebView.getSettings().setBuiltInZoomControls(false);
mWebView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onJsAlert(WebView view, String url, String message, JsResult result){
Toast.makeText(SettingWebView1.this, message, Toast.LENGTH_SHORT).show();
result.confirm();
return true;
}
});




웹뷰에 다음 속성 사용해보시죠. 두 속성 모두 디폴트가 false이니까 작성하신 웹뷰 셋팅 코드에서 지우시기만 하면 되겠네요
settings.setUseWideViewPort(false);
settings.setLoadWithOverviewMode(false);
인풋이 선택되었을때, 와드이드 뷰포트를 사용하고 있으면 줌이 발생되더라구요.
위의 코드는 와이드 뷰포트를 사용하지 않는다는 것이구요.