直播系统平台搭建适配Android WebView 深色主题

直播系统平台搭建适配Android WebView 深色主题的相关代码

深色主题适配时,webview可以通过api设置自动适配,不用再添加night资源,但是对系统版本有要求,需要android 10(Build.VERSION_CODES.Q),才能调用此api。方法见如下.

 

public class WebViewActivity extends AppCompatActivity {
    WebView mWebView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_web_view);
        mWebView = findViewById(R.id.web_view);
        mWebView.getSettings();
        //得到webview设置
        WebSettings webSettings = mWebView.getSettings();
        //允许使用javascript
        webSettings.setJavaScriptEnabled(true);
        //设置字符编码
        webSettings.setDefaultTextEncodingName("UTF-8");
        //支持缩放
        webSettings.setSupportZoom(true);
        webSettings.setBuiltInZoomControls(true);
        webSettings.setUseWideViewPort(true);
        webSettings.setLoadWithOverviewMode(true);
        //将WebAppInterface与javascript绑定
        //mWebView.addJavascriptInterface(new PaymentJavaScriptInterface(),"Android");
        //android assets目录下html文件路径url为 file:///android_asset/profile.html
        String url = "file:///android_asset/" + "百度一下,你就知道.html";
        mWebView.loadUrl(url);
    }
    @RequiresApi(api = Build.VERSION_CODES.Q)
    @Override
    protected void onResume() {
        super.onResume();
        if ((getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK) == Configuration.UI_MODE_NIGHT_YES) { //判断如果系统是深色主题
            mWebView.getSettings().setForceDark(WebSettings.FORCE_DARK_ON);//强制开启webview深色主题模式
        } else {
            mWebView.getSettings().setForceDark(WebSettings.FORCE_DARK_OFF);
        }
    }
}

以上就是直播系统平台搭建适配Android WebView 深色主题的相关代码, 更多内容欢迎关注之后的文章

 

posted @ 2021-09-26 14:19  云豹科技-苏凌霄  阅读(98)  评论(0编辑  收藏  举报