package com.igo.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 android.webkit.WebView import android.widget.TextView import androidx.fragment.app.DialogFragment import cn.sinata.xldutils.utils.screenWidth import com.igo.user.R import com.igo.user.interfaces.StringCallback import org.jetbrains.anko.support.v4.find 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, cn.sinata.xldutils.R.style.FadeDialog) } private val tv_ok by lazy { find(R.id.tv_ok) } private val tv_title by lazy { find(R.id.tv_title) } private val sc_content by lazy { find(R.id.sc_content) } private val content by lazy { requireArguments().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() } } }