package com.igo.user.dialog import android.content.DialogInterface 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.WebSettings import android.webkit.WebView import android.webkit.WebViewClient import android.widget.RadioGroup import android.widget.TextView import androidx.fragment.app.DialogFragment import cn.sinata.xldutils.utils.SPUtils import cn.sinata.xldutils.utils.screenWidth import com.igo.user.R import com.igo.user.utils.Const import org.jetbrains.anko.support.v4.find import org.jetbrains.anko.wrapContent class UserRuleDialog: DialogFragment() { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? = inflater.inflate(R.layout.dialog_user_rule,container,false) override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setStyle(STYLE_NO_FRAME, cn.sinata.xldutils.R.style.FadeDialog) } private val privacy by lazy { requireArguments().getString("privacy")?:":" } private val user by lazy { requireArguments().getString("user")?:":" } override fun onActivityCreated(savedInstanceState: Bundle?) { super.onActivityCreated(savedInstanceState) dialog?.window?.setLayout((screenWidth()*0.85).toInt(), wrapContent) dialog?.window?.setGravity(Gravity.CENTER) dialog?.setCanceledOnTouchOutside(false) } private val tv_ok by lazy { find(R.id.tv_ok) } private val tv_cancel by lazy { find(R.id.tv_cancel) } private val sc_content by lazy { find(R.id.sc_content) } private val rg_title by lazy { find(R.id.rg_title) } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) val settings = sc_content.settings settings.javaScriptEnabled = true settings.javaScriptCanOpenWindowsAutomatically = true settings.defaultTextEncodingName = "utf-8" settings.domStorageEnabled = true settings.setSupportZoom(true) // settings.textZoom = 200 settings.useWideViewPort = true settings.loadWithOverviewMode = true settings.layoutAlgorithm = WebSettings.LayoutAlgorithm.TEXT_AUTOSIZING sc_content.webChromeClient = object : WebChromeClient() {} sc_content.webViewClient = object : WebViewClient() {} val sHead = "" + "" + "" + "" sc_content!!.loadDataWithBaseURL( null, sHead + privacy, "text/html", "utf-8", null ) tv_cancel.setOnClickListener { dismiss() } rg_title.setOnCheckedChangeListener { _, i -> if (i == R.id.rb_privacy) sc_content!!.loadDataWithBaseURL( null, sHead + privacy, "text/html", "utf-8", null ) else sc_content!!.loadDataWithBaseURL( null, sHead + user, "text/html", "utf-8", null ) } tv_ok.setOnClickListener { SPUtils.instance().put(Const.User.IS_AGREE,true).apply() dismiss() } } override fun onDismiss(dialog: DialogInterface) { super.onDismiss(dialog) dismissCallbak?.onDismiss() } interface OnDismiss{ fun onDismiss() } private var dismissCallbak:OnDismiss? = null fun setDismissCallback(callback:OnDismiss){ this.dismissCallbak = callback } }