HarmonyOS鸿蒙Next中暗黑模式下网页初始为黑色

HarmonyOS鸿蒙Next中暗黑模式下网页初始为黑色 设置web的 .darkMode(WebDarkMode.Off)
还有在EntryAbility文件的onCreat方法里面设置这个 this.context.getApplicationContext().setColorMode(ConfigurationConstant.ColorMode.COLOR_MODE_LIGHT);都不生效。

1 回复

更多关于HarmonyOS鸿蒙Next中暗黑模式下网页初始为黑色的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


设置web组件背景色为白色可以消除初始化为黑色的问题:

demo:

```javascript
// xxx.ets
import web_webview from '[@ohos](/user/ohos).web.webview';
import business_error from '[@ohos](/user/ohos).base';

[@Entry](/user/Entry)
[@Component](/user/Component)
struct WebComponent {
  controller: web_webview.WebviewController = new web_webview.WebviewController();
  aboutToDisappear(): void {
    // this.controller.removeCache(true)
  }
  build() {
    Column() {
      Button('loadData')
        .onClick(() => {
          try {
            this.controller.loadData(
              "<html><body bgcolor=\"white\"> <div>" +
              '<p>演出团体|俄罗斯芭蕾国家剧院</p>' +
              '<p>艺术总监|维亚切斯拉夫·米哈伊洛维奇·戈尔杰耶夫</p>' +
              "</div></body></html>",
              "text/html",
              "UTF-8"
            );
          } catch (error) {
            let e: business_error.BusinessError = error as business_error.BusinessError;
            console.error(`ErrorCode: ${e.code},  Message: ${e.message}`);
          }
        })
      Button('reLoadData')
        .onClick(() => {
          this.controller.loadUrl('http://www.baidu.com/');
        })
      Web({ src: 'http://www.baidu.com/', controller: this.controller, renderMode: RenderMode.SYNC_RENDER })
        .width('100%')
        .javaScriptAccess(true)
        .databaseAccess(true)
        .domStorageAccess(true)
        .darkMode(WebDarkMode.Off)
        .height('100%')
        .backgroundColor(Color.White)
    }
    .height('100%')
  }
}
回到顶部