Nuke Olaf - Log Store

[Android] 안드로이드 - 다이얼로그로 웹 뷰 띄우기 본문

Android

[Android] 안드로이드 - 다이얼로그로 웹 뷰 띄우기

NukeOlaf 2020. 5. 8. 02:46

AlertDialog Builder 의 setView() 를 사용해서 다이얼로그 안에 웹 뷰를 보여줄 수 있다.

private fun showWebViewDialog(url: String) {
    val webView = WebView(this).apply {
        loadUrl(url)
        webViewClient = object : WebViewClient() {
            override fun shouldOverrideUrlLoading(view: WebView?, url: String?): Boolean {
                view!!.loadUrl(url)
                return true
            }
        }
    }
    AlertDialog.Builder(this@MainActivity)
        .setTitle("WebView")
        .setView(webView)
        .setNegativeButton("취소") { dialog, _ ->
            dialog.dismiss()
        }
        .show()
}

 

webViewClient 의 shouldOverrideUrlLoading() 함수는
WebView 안에서 웹 페이지를 돌아다녀야 하는 경우
새로운 URL이 webview에 로드되려 할 경우 컨트롤을 대신할 기회를 준다.

 

참고 사이트 >>>

https://stackoverflow.com/questions/9172805/android-webview-inside-dialog-or-popup

https://www.blueswt.com/97

 

<WebViewClient  관련 참고>
https://cofs.tistory.com/186

<웹 뷰 구현 관련 참고>
https://jerryjerryjerry.tistory.com/72

Comments