Android 13中WebSettingsCompat.setForceDark方法失效求助
解决Android 13中WebView强制关闭深色模式失效的问题
- Android 13(API 33)对WebView深色模式的控制逻辑做了调整,仅调用
WebSettingsCompat.setForceDark(...)可能无法生效,需要配合深色模式策略配置 - 先设置深色模式策略,再关闭强制深色模式:
// 设置深色模式策略为仅网页自身有深色主题时才启用深色模式 WebSettingsCompat.setForceDarkStrategy(webView.getSettings(), WebSettingsCompat.FORCE_DARK_STRATEGY_WEB_THEME_DARKEN_ONLY); // 关闭WebView强制深色模式 WebSettingsCompat.setForceDark(webView.getSettings(), WebSettingsCompat.FORCE_DARK_OFF); - 确保使用的AndroidX WebView库版本不低于100.0.4896.75,该版本修复了Android 13上的深色模式兼容问题
- 如果仍有视觉异常,可直接设置WebView背景色来兜底:
webView.setBackgroundColor(Color.WHITE);
内容的提问来源于stack exchange,提问作者Chester
相关产品推荐
相关产品推荐

