Android 在webview中使用暗模式
我似乎无法让android web视图使用暗主题或Android 在webview中使用暗模式,android,css,android-webview,android-dark-theme,Android,Css,Android Webview,Android Dark Theme,我似乎无法让android web视图使用暗主题或 @media (prefers-color-scheme: dark) 我正在使用AndroidX和DayNight主题 是否有人有api 29之前向后兼容的解决方案?对于运行在Android 10以下的设备,您可以添加androidx.webkit依赖项并按如下方式设置webview设置: if (WebViewFeature.isFeatureSupported(WebViewFeature.FORCE_DARK)) { WebS
@media (prefers-color-scheme: dark)
我正在使用AndroidX和DayNight主题
是否有人有api 29之前向后兼容的解决方案?对于运行在Android 10以下的设备,您可以添加androidx.webkit依赖项并按如下方式设置webview设置:
if (WebViewFeature.isFeatureSupported(WebViewFeature.FORCE_DARK)) {
WebSettingsCompat.setForceDark(myWebView.settings, WebSettingsCompat.FORCE_DARK_ON)
}
添加到应用程序的build.grade:
implementation "androidx.webkit:webkit:1.2.0"
您可以在此处查看要使用的最新版本:
如果您有一个扩展WebView的类,请将其添加到扩展类的构造函数中:
public MyWebView(Context context, AttributeSet attrs) {
super(context, attrs);
...
if (WebViewFeature.isFeatureSupported(WebViewFeature.FORCE_DARK)) {
WebSettingsCompat.setForceDark(getSettings(), WebSettingsCompat.FORCE_DARK_ON);
}
...
}
如果您有一个实例化webview的活动,请将其添加到该活动的onCreate方法中:
myWebView = getViewById(R.id.web_content);
if (WebViewFeature.isFeatureSupported(WebViewFeature.FORCE_DARK)) {
WebSettingsCompat.setForceDark(myWebView.getSettings(),
WebSettingsCompat.FORCE_DARK_ON);
}
当然,您可能需要决定想要哪种部队战略:
WebSettingsCompat.FORCE_DARK_ON
WebSettingsCompat.FORCE_DARK_OFF
WebSettingsCompat.FORCE_DARK_AUTO
你把代码放在哪里?这是一个非常不完整的答案。此外,您可能希望提供有关webkit依赖项的更多详细信息,例如如何将其注入gradle文件的示例。