直播系统平台搭建适配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 深色主题的相关代码, 更多内容欢迎关注之后的文章