HarmonyOS 没有全局的api loading动画

接口请求需要全局的loading动画,并且可以进行遮罩(类型微信那种wx.showLoading的方法)。

HarmonyOS
2024-10-28 10:54:43
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

​可以使用promptAction.openCustomDialog自定义弹窗实现loading效果,参考文档:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-promptaction-0000001815086746-V5#ZH-CN_TOPIC_0000001834458276__promptactionopencustomdialog11

https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/js-apis-promptAction.md#promptactionopencustomdialog11

以下提供个demo可以参考下:

//Index.ets​

import { changeDialogBuilder, MyShowTest } from '../common/HttpUtils'  
import {customDialogBuilder} from './testProm'  
let myShowTest = new MyShowTest()  
@Entry  
@Component  
struct Index {  
  @State message: string = 'Hello World'  
  onPageShow(): void {  
    changeDialogBuilder(customDialogBuilder.bind(this))  
  }  
  build() {  
    Row() {  
      Column() {  
        Text(this.message)  
          .fontSize(50)  
          .fontWeight(FontWeight.Bold)  
          .onClick(() => {  
            myShowTest.showTest()  
          })  
      }  
      .width('100%')  
    }  
    .height('100%')  
  }  
}

//testProm.ets

@Builder  
export function customDialogBuilder() {  
  Column() {  
    Text('正在加载中').fontSize(16)  
  }.height(100).width(100)  
}

//HttpUtils.ets

import promptAction from '@ohos.promptAction'  
let myDialogBuilder: CustomBuilder;  
let customDialogId: number = 0  
export function changeDialogBuilder(builder: CustomBuilder) {  
  myDialogBuilder = builder  
}  
export class MyShowTest {  
  showTest() {  
    if (myDialogBuilder === undefined) {  
      return  
    }  
    promptAction.openCustomDialog({  
      builder: myDialogBuilder,  
      alignment: DialogAlignment.Center,  
    }).then((dialogId: number) => {  
      customDialogId = dialogId  
    })  
    setTimeout(() => {  
      promptAction.closeCustomDialog(customDialogId)  
    }, 2000)  
  }  
}
分享
微博
QQ
微信
回复
2024-10-28 16:51:31
相关问题
HarmonyOS 全局loading组件
299浏览 • 1回复 待解决
HarmonyOS 全局loading菊花如何实现?
403浏览 • 1回复 待解决
HarmonyOS 如何在全局使用loading组件?
702浏览 • 1回复 待解决
HarmonyOS 是否有全局loading这种控件?
391浏览 • 1回复 待解决
refresh期望能够自定义loading动画
1003浏览 • 1回复 待解决
如何全局设置页面转场动画
743浏览 • 1回复 待解决
HarmonyOS .scale没有动画效果
45浏览 • 1回复 待解决
HarmonyOS没有图片取色API
223浏览 • 1回复 待解决
HarmonyOS没有单指旋转api
188浏览 • 0回复 待解决
HarmonyOS没有单指旋转api
42浏览 • 1回复 待解决
没有获取设备api
356浏览 • 1回复 待解决
HarmonyOS Loading提示插件问题
700浏览 • 1回复 待解决
HarmonyOS通过方法调用loading有吗?
427浏览 • 0回复 待解决
HarmonyOS 视频压缩没有相关api
412浏览 • 1回复 待解决
提问
该提问已有0人参与 ,帮助了0人