웹뷰 설정은 매번 기억이 안나기 때문에
기록해두는게 마음편하다.
WebView webView = findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true); // 자바스크립트 사용여부
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); // 자바스크립트가 창을 자동으로 열 수 있게할지 여부
webView.getSettings().setLoadsImagesAutomatically(true); // 이미지 자동 로드
webView.getSettings().setUseWideViewPort(true); // wide viewport 설정
// 설정값이 false인 경우, layout 너비는 디바이스 픽셀에 맞추어 설정된다.
// 값이 true이고 페이지에 뷰포트 메타 태그가 있으면 태그에 지정된 너비 값이 사용된다.
// 페이지에 태그가 없거나 너비가 없는 경우 넓은 뷰포트가 사용된다.
webView.getSettings().setLoadWithOverviewMode(true); //컨텐츠가 웹뷰보다 클때 스크린크기에 맞추기
webView.getSettings().setSupportZoom(false); // 줌설정
webView.getSettings().setBuiltInZoomControls(true); // 줌아이콘
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); // 캐시설정
// LOAD_CACHE_ELSE_NETWORK : 캐시 기간만료 시 네트워크 접속
// LOAD_CACHE_ONLY : 캐시만 불러옴 (네트워크 사용 X)
// LOAD_DEFAULT : 기본 모드, 캐시 사용, 기간 만료 시 네트워크 사용
// LOAD_NO_CACHE : 캐시모드 사용안함
// LOAD_NORMAL : 기본모드 캐시 사용 @Deprecated
webView.getSettings().setAppCacheEnabled(false); //앱내부의 캐시 사용 여부
webView.getSettings().setDomStorageEnabled(true); // 로컬 스토리지 사용여부
webView.getSettings().setAllowFileAccess(true); // 파일 액세스 허용 여부
webView.getSettings().setUserAgentString("app"); // 사용자 문자열 설정
webView.getSettings().setDefaultTextEncodingName("UTF-8"); // 인코딩 설정
webView.getSettings().setAllowUniversalAccessFromFileURLs(true);
webView.getSettings().setBlockNetworkImage(false); // 네트워크를 통해 이미지리소스 받을지 여부
webView.getSettings().setSupportMultipleWindows(true); // 멀티윈도우를 지원할지 여부
// {@link WebChromeClient#onCreateWindow} must be implemented by the host application. -
webView.getSettings().setDatabaseEnabled(false); //database storage API 사용 여부
webView.getSettings().setAllowContentAccess(true); // 웹뷰를 통해 Content URL 에 접근할지 여부
// a class -> 내부에 @JavascriptInterface 메서드 구현
// webView.addJavascriptInterface(new a(this), "app");
webView.setWebChromeClient(new WebChromeClient());
webView.clearCache(true);
webView.loadUrl("https://kyome.tistory.com/"); //웹뷰 URL로드
도움이 되는 자료였다면
로그인이 필요없는 공감 버튼 꾹 눌러주세요!
'Mobile 개발 > 재미있는 Android' 카테고리의 다른 글
[Android] Glide - HTTPS 에러 해결 - Trust anchor for certification path not found. (0) | 2020.11.26 |
---|---|
[Android] Retrofit - SSL 에러 해결 : Trust anchor for certification path not found. (7) | 2020.11.23 |
[Android] Retrofit을 쓰자 - 기본적인 사용 방법 (0) | 2020.11.19 |
[Android] RecyclerView 이해하기 (2) - ViewHolder는 무엇인가 (0) | 2020.09.17 |
[Android] RecyclerView 이해하기 (1) - Adapter는 무엇인가 (0) | 2020.09.09 |