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
<WebViewClient 관련 참고>
https://cofs.tistory.com/186
<웹 뷰 구현 관련 참고>
https://jerryjerryjerry.tistory.com/72