Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在webview中使用暗模式_Android_Css_Android Webview_Android Dark Theme - Fatal编程技术网

Android 在webview中使用暗模式

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

我似乎无法让android web视图使用暗主题或

@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文件的示例。