티스토리 뷰

Android 에서 Web Page 를 보여주는 WebView 추가 방법 입니다. 

WebView 보여주는 방법 및 WebView를 터치 이벤트 추가 방법.

 

WebView를 사용하기 위해서는 manifest에서 인터넷 권한을 추가 해야합니다. 

<uses-permission android:name="android.permission.INTERNET"/>

 

view activity xml 에 webView 를 추가 하고 id 를 mWebView 와 같이 원하는 이름으로 지정합니다.

	<WebView
		android:id="@+id/mWebView"
		android:layout_width="fill_parent"
		android:layout_height="fill_parent">
	</WebView>

 

webView에 id를 매칭시켜 주고, 

setWebViewClient -> shouldOverrideUrlLoading 를 Override 하여 새로운창으로 View 가 열리는것을 막아줍니다.

setOnTouchListener -> onTouch 를 Override 하여 터치한 WebView 의 URL 을 Toast 로 보여줍니다.

그리고 loadUrl을 사용하여 원하는 페이지 주소로 이동을 시킵니다. 

여기서는 youtube.com 을 Load 하여 보여주도록 해보겠습니다.

	public WebView mWebView;
		...
		mWebView = (WebView) findViewById(R.id.mWebView);
		mWebView.getSettings().setPluginState(WebSettings.PluginState.ON);
		mWebView.setWebViewClient(new WebViewClient()
		{
			@Override
			public boolean shouldOverrideUrlLoading(WebView view, String url)
			{
				view.loadUrl(url);
				return true;
			}
		});

		mWebView.setOnTouchListener(new View.OnTouchListener() {  //터치이벤트 구현부
			@Override
			public boolean onTouch(View view, MotionEvent motionEvent) {
				String webURL = mWebView.getUrl();
				Toast.makeText(getApplicationContext(),
						"WebView("+webURL+") is clicked !!", Toast.LENGTH_LONG).show();

				return false;
			}
		});


		WebSettings webSettings = mWebView.getSettings();
		webSettings.setJavaScriptEnabled(true);
		webSettings.setBuiltInZoomControls(true);
		webSettings.setAllowContentAccess(true);
		webSettings.setEnableSmoothTransition(true);
		webSettings.setLoadsImagesAutomatically(true);
		webSettings.setLoadWithOverviewMode(true);
		webSettings.setSupportZoom(false);
		webSettings.setUseWideViewPort(true);
		webSettings.setAppCacheEnabled(true);
		webSettings.setSupportMultipleWindows(true);
		mWebView.loadUrl("https://www.youtube.com/");

		...

 

그리고 위 WebView를 getSetting 으로 여러 설정 등을 해주면 WebView 의 세팅등을 원하는 데로 설정해줄수 있습니다.

WebPage의 이미지가 보이지 않거나 Zoom 이 안되거나, 자바스크립트가 동작하지 않거나 하는 것은 이부분을 원하는데로 설정 해주어 해결 해줍니다.

 

위와 같이 설정 하여 실행 하면 아래와 같이 WebView 를 보여주는 간단한 예제 완성.

 

 

댓글

파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음



Total
Today
Yesterday
최근에 달린 댓글