弹出 toast 的时候切换主题,toast 有一个飞入效果,不合预期?

import { promptAction } from '@kit.ArkUI';

@Entry
@Component
struct Index {
  aboutToAppear(): void {
    promptAction.showToast({ message: "切换为夜间模式" })
    getContext(this).getApplicationContext().setColorMode(0)
  }

  build() {
    Column() {
      Text("Hello, World!")
    }
    .width('100%')
    .height('100%')
  }
}

启动后,toast 会从上面飞到下面,而不是直接出现 ,如果把 getContext(this).getApplicationContext().setColorMode(0) 这一行去掉,则没有这个问题。

阅读 607
1 个回答

解决方案

按照如下方式修改即可:

import { promptAction } from '@kit.ArkUI';

@Entry
@Component
struct Index {
  aboutToAppear(): void {
    promptAction.showToast({ message: "切换为夜间模式" ,showMode:promptAction.ToastShowMode.TOP_MOST})
    getContext(this).getApplicationContext().setColorMode(0)
  }


  build() {
    Column() {
      Text("Hello, World!")
    }
    .width('100%')
    .height('100%')
  }
}

相关api参考链接:https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/js-apis-promptAction.md\#toastshowmode11

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进