package com.fuban.user.dialog
|
|
import android.os.Bundle
|
import android.view.Gravity
|
import android.view.LayoutInflater
|
import android.view.View
|
import android.view.ViewGroup
|
import android.webkit.WebChromeClient
|
import androidx.fragment.app.DialogFragment
|
import cn.sinata.xldutils.utils.screenWidth
|
import com.fuban.user.R
|
import com.fuban.user.interfaces.StringCallback
|
import kotlinx.android.synthetic.main.dialog_h5.*
|
import org.jetbrains.anko.wrapContent
|
|
class H5Dialog: DialogFragment() {
|
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? =
|
inflater.inflate(R.layout.dialog_h5,container,false)
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
super.onCreate(savedInstanceState)
|
setStyle(STYLE_NO_FRAME, R.style.FadeDialog)
|
}
|
|
private val content by lazy {
|
arguments!!.getString("content")
|
}
|
private var callback:StringCallback? = null
|
|
override fun onActivityCreated(savedInstanceState: Bundle?) {
|
super.onActivityCreated(savedInstanceState)
|
dialog?.window?.setLayout((screenWidth()*0.85).toInt(), wrapContent)
|
dialog?.window?.setGravity(Gravity.CENTER)
|
dialog?.setCanceledOnTouchOutside(true)
|
}
|
|
fun setCallback(callback: StringCallback){
|
this.callback = callback
|
}
|
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
super.onViewCreated(view, savedInstanceState)
|
tv_title.text = arguments?.getString("title")
|
val settings = sc_content.settings
|
settings.javaScriptEnabled = true
|
settings.javaScriptCanOpenWindowsAutomatically = true
|
settings.defaultTextEncodingName = "utf-8"
|
settings.domStorageEnabled = true
|
sc_content.webChromeClient = object : WebChromeClient() {}
|
sc_content.loadData(content,"text/html; charset=utf-8", "utf-8")
|
tv_ok.setOnClickListener {
|
callback?.onRlt("")
|
dismiss()
|
}
|
}
|
}
|