Wandroid icon indicating copy to clipboard operation
Wandroid copied to clipboard

设置黑夜模式,我看到了setBackgroundColor(0),字体颜色那些具体怎样处理?是那一块代码

Open Achenglove opened this issue 3 years ago • 5 comments

Achenglove avatar Jul 08 '20 06:07 Achenglove

@iamyours 替换的标签是不是要看自己的网页是怎样写的?实现方式就是网页链接本身就支持黑暗模式的是吗?

Achenglove avatar Jul 08 '20 09:07 Achenglove

@Achenglove 简书本身是有黑也模式的,改个class就行了,其他站点需要手动适配,基本的实现思路就是替换css文件,正则替换html内容中的style标签。比如下面就是替换掘金的样式:

override fun shouldInterceptRequest(view: WebView?, url: String?)
            : WebResourceResponse? {
        val urlStr = url ?: ""
        if (urlStr.startsWith("https://b-gold-cdn.xitu.io/v3/static/css/0")
            && urlStr.endsWith(".css")
        ) {
            val stream = view!!.context.assets.open("juejin/css/juejin.css")
            return WebResourceResponse("text/css", "utf-8", stream)
        }

        return super.shouldInterceptRequest(view, url)
    }

iamyours avatar Jul 08 '20 09:07 iamyours

@iamyours 意思就是网页里面要有支持黑暗模式的属性,然后才能使用上面的方法替换对应的css?

Achenglove avatar Jul 08 '20 10:07 Achenglove

不是的,所有站点都可以适配成黑夜模式,只不过要针对每个站点修改css样式 @Achenglove

iamyours avatar Jul 08 '20 10:07 iamyours