直播系統平臺搭建適配Android WebView 深色主題

zhibo系統開發發表於2021-09-26

直播系統平臺搭建適配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 深色主題的相關程式碼, 更多內容歡迎關注之後的文章


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2793792/,如需轉載,請註明出處,否則將追究法律責任。

相關文章