Android Studio

Android | WebView(웹뷰)

ziziDev 2024. 12. 13. 09:30
반응형

 

binding.webView.settings.apply {
            setSupportMultipleWindows(false) // 새창 띄우기 허용 
            setSupportZoom(false) // 화면 확대 허용 
            javaScriptEnabled = true // 자바스크립트 허용 
            javaScriptCanOpenWindowsAutomatically = false // 자바스크립트 새창 띄우기 허용 
            loadWithOverviewMode = true // html의 컨텐츠가 웹뷰보다 클 경우 스크린 크기에 맞게 조정 
            useWideViewPort = true // html의 viewport 메타 태그 지원 
            builtInZoomControls = false // 기본적으로 줌 기능이 되지 않습니다.
            displayZoomControls = false // 화면 확대/축소 허용 
            layoutAlgorithm = WebSettings.LayoutAlgorithm.SINGLE_COLUMN // 컨텐츠 사이즈 맞추기 
            cacheMode = WebSettings.LOAD_NO_CACHE // 브라우저 캐쉬 허용 
            domStorageEnabled = true // 로컬 저장 허용 
            databaseEnabled = true
            /**
             * * This request has been blocked; the content must be served over HTTPS
             * * https 에서 이미지가 표시 안되는 오류를 해결하기 위한 처리
             * */
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                mixedContentMode = WebSettings.MIXED_CONTENT_ALWAYS_ALLOW
            }
        }
 binding.webView.apply {
  		webViewClient = WebViewClient()     // WebView 위젯을 사용해 여러 기능 사용
        webChromeClient = WebChromeClient() // 브라우저 크롬에 특화
       }
출처: https://yoon-dailylife.tistory.com/109 [알면 쓸모있는 개발 지식:티스토리]

 

만약 이렇게 설정하고 나서 웹뷰를 확인했을때 웹뷰 축소나 웹뷰 범위가 작게 보인다면 웹쪽 문제이므로 웹에서 확인해야한다

그리고 그 주소를 복사해서 크롬에서도 확인하여야한다

 

그리고 개발자모드에서 레이아웃 범위 표시가 있기 때문에 그걸로도 테스트가 가능하다는 점

 

 

 

그리고 웹에서도 디버깅이 가능하니 F12를 눌러서 디버깅 하면 되며

테스팅 할 때 값도 변경해서 수정할 수 있다

 

내 문제는 안드로이드에서 문제가 아닌 웹에서 문제가 생겨서 웹에서 호출 순서 때문에 문제가 생겼다

그래서 호출 순서를 고칠 수 없기 때문에 현재 사용기기 타입이 어떤건지에 따라서 높이 설정을 변경해주었다

 

https://developer.android.com/develop/ui/views/layout/webapps/webview?hl=ko&authuser=1

 

WebView에서 웹 앱 빌드  |  Android Developers

이 페이지는 Cloud Translation API를 통해 번역되었습니다. WebView에서 웹 앱 빌드 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. WebView를 사용하여 웹 애플리케이

developer.android.com

 

반응형