在暗主题中,Android WebView默认会翻转图像以匹配深色背景。要禁用这种行为,可以使用以下代码示例:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
// 将方向匹配设为false,避免在暗主题中翻转图像
webView.getSettings().setForceDarkAllowed(false);
}
这段代码在Android 10及以上版本中可用。如果您的应用的最低支持版本低于Android 10,则应添加更多检查以避免在旧版本上出现崩溃:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
// 将方向匹配设为false,避免在暗主题中翻转图像
webView.getSettings().setForceDarkAllowed(false);
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
// 关闭WebView中的亮度自动调节功能,以避免在暗主题中调整图像亮度
webView.getSettings().setAllowContentAccess(true);
}
这两个设置都是可选的,但它们可以帮助确保WebView在暗主题下的图像显示效果与明主题下一致,同时避免应用崩溃。