lmw
2025-02-06 ab2842d427504c531c79ddb9c5a9ef1df7833014
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package com.sinata.xqmuse.ui.mine
 
import android.webkit.WebChromeClient
import android.webkit.WebSettings
import android.webkit.WebView
import android.webkit.WebViewClient
import androidx.core.os.bundleOf
import cn.sinata.xldutils.fragment.BaseFragment
import com.sinata.xqmuse.R
import com.sinata.xqmuse.network.HttpManager
import com.sinata.xqmuse.network.requestByF
import org.jetbrains.anko.support.v4.find
 
class RuleFragment : BaseFragment() {
    override fun contentViewId() = R.layout.activity_web_view
    private val webView by lazy {
        find<WebView>(cn.sinata.xldutils.R.id.webView)
    }
    private val type by lazy { arguments?.getInt("type",0)?:0 }
 
    override fun onFirstVisibleToUser() {
        val settings = webView.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
        webView.webChromeClient = object : WebChromeClient() {}
        webView.webViewClient = object : WebViewClient() {}
        HttpManager.getH5(type).requestByF(this){_,data->
            val sHead =
                "<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>"
            webView.loadDataWithBaseURL(
                null,
                sHead + data?.content,
                "text/html",
                "utf-8",
                null
            )
        }
    }
 
    companion object{
        const val TYPE_USER = 1
        const val TYPE_PRIVACY = 2
        fun newInstance(type:Int):RuleFragment{
            val ruleFragment = RuleFragment()
            ruleFragment.arguments = bundleOf("type" to type)
            return ruleFragment
        }
    }
}