WebView 동영상 전체화면 안드로이드의 WebView에선 기본적으로 동영상 전체화면 처리를 해주지 않는다. 따라서, 별도로 커스텀을 해야하며 전체화면 버튼 클릭 시 새로운 화면을 위에 덮어 씌운다고 생각하면 된다. WebChromeClient 클래스를 상속 받아서 커스텀해야하고, onShowCustomView, onHideCustomView 메소드를 통해 전체화면 처리를 할 수 있다. FullScreenHolder 생성 동영상이 올라갈 배경을 지정한다. 이 클래스를 지정하지 않으면 동영상을 제외한 여백 부분이 투명하게 처리된다. private class FullScreenHolder(context:Context): FrameLayout(context) { init { setBackgroundColor..
상황 ViewPager2 내에 WebView를 넣었을 때, WebView 안에 배너와 같은 horizonScroll이 가능한 View가 있으면 충돌이 일어난다. 처리 방법 WebView의 Down 터치 이벤트 감지 시 ViewPager의 Swipe 기능 Off WebView의 Up 터치 이벤트 감지 시 ViewPager의 Swipe 기능 On WebView 내에서 OverScroll 감지 시 ViewPager Swipe 기능 On → WebView에서 Down 터치 이벤트가 감지되는 순간 ViewPager에 사용자 액션을 차단하여 터치 이벤트를 WebView 내의 배너(기타 스크롤이 가능한 뷰들)가 가져가도록 하는 것 코드 CustomWebView.kt class CustomWebView : WebVie..
Android의 WebView에서 링크를 클릭하면 URL을 처리하는 앱이 실행되는 것이 기본적인 동작이지만, 해당 링크가 WebView 내에서 열리도록 동작을 재정의할 수 있다. 이렇게 하면, WebView 내에서 웹페이지 방문 기록을 통해 사용자가 앞뒤로 페이지 탐색이 가능해진다. Url 실행 처리 1. WebViewClient 연결 사용자가 클릭한 링크를 WebView에서 열려면, setWebViewClient()를 통해 WebView에게 WebViewClient를 제공해야 함 val myWebView: WebView = findViewById(R.id.webview) myWebView.webViewClient = WebViewClient() 이렇게만 해주면 사용자가 클릭한 모든 링크가 WebView..
WebView 사용법 1. 권한 요청 WebView를 사용하기 위해선 인터넷 권한이 필요 ... 2. 앱에 WebView 추가 xml에서 추가 Activity에서 추가 val myWebView: WebView = findViewById(R.id.webview) myWebView.loadUrl("http://www.example.com") 3. 웹 페이지 로드 loadUrl() url로 로드 val myWebView:WebView = findViewById(R.id.webview) myWebView.loadUrl("http://www.example.com") 로컬에서 로드 val myWebView:WebView = findViewById(R.id.webview) webView.loadUrl("file://..