package com.sinata.xqmuse.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 androidx.fragment.app.DialogFragment
|
import cn.sinata.xldutils.gone
|
import cn.sinata.xldutils.utils.SPUtils
|
import cn.sinata.xldutils.utils.screenWidth
|
import cn.sinata.xldutils.visible
|
import com.sinata.xqmuse.R
|
import com.sinata.xqmuse.utils.Const
|
import kotlinx.android.synthetic.main.dialog_user_rule.*
|
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, R.style.FadeDialog)
|
}
|
|
private val sHead by lazy {
|
"<html><head><meta name=\"viewport\" content=\"width=device-width, " + "initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes\" />" + "<style>img{max-width:100% !important;height:auto !important;}</style>" + "<style>body{max-width:100% !important;}</style>" + "</head><body>"
|
}
|
private val privacy by lazy {
|
arguments?.getString("privacy")?:""
|
}
|
private val user by lazy {
|
arguments?.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)
|
}
|
|
|
|
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
|
sc_content.webChromeClient = object : WebChromeClient() {}
|
sc_content.loadDataWithBaseURL(
|
null,
|
sHead + user,
|
"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
|
)
|
v_2.visible()
|
v_1.gone()
|
}
|
else{
|
sc_content.loadDataWithBaseURL(
|
null,
|
sHead + user,
|
"text/html",
|
"utf-8",
|
null
|
)
|
v_2.gone()
|
v_1.visible()
|
}
|
}
|
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
|
}
|
}
|