안드로이드 개발 질문/답변
(글 수 45,052)
액티비티 내에 버튼 두개와 웹뷰를 만들고
버튼을 누르면 웹뷰의 zoom in, zoom out을 수행하려 합니다.
private WebView mWebView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout mLayout= new LinearLayout(this);
mLayout.setOrientation(1);
Button mButton = new Button(this);
mButton.setText("Zoom in");
Button mButton2 = new Button(this);
mButton2.setText("Zoom out");
mLayout.addView(mButton);
mLayout.addView(mButton2);
this.mWebView = new WebView(this);
mWebView.loadUrl("http://m.google.com");
mWebView.setWebViewClient(new HelloWebViewClient());
mWebView.setWebChromeClient(new WebChromeClient());
mWebView.getSettings().setBuiltInZoomControls(true);
mWebView.getSettings().setSupportZoom(true);
mWebView.setLayoutParams(new LayoutParams(200,200));
mLayout.addView(mWebView);
mButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
boolean ret = mWebView.zoomIn();
Log.i("WEBVIEW", "zoom in result :" + ret);
}
});
mButton2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
boolean ret = mWebView.zoomOut();
Log.i("WEBVIEW", "zoom out result :" + ret);
}
});
setContentView(mLayout);
}
public void onConfigurationChanged(Configuration newConfig) {
Display display = this.getWindowManager().getDefaultDisplay();
//mWebView.setLayoutParams(new LayoutParams(display.getWidth(), display.getHeight()));
}
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
다음과 같이 코드를 작성했는데, 처음 액티비티가 시작되고 잠깐동안은 줌이 되는데, 그 이후로는 계속 줌이 안되네요.
혹시 따로 설정을 해주어야 하는 부분이 있는건가요?