当前位置: 首页 > article >正文

【每日学点鸿蒙知识】Shape描述、全局loading组件、checkbox样式、H5监听键盘收起、弹窗不关闭

1、HarmonyOS 有没有xml描述的Shape?

有没有xml描述的Shape?

官方文档有对用的Shape的参考文档,参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-drawing-components-shape-V5
绘制组件的父组件,父组件中会描述所有绘制组件均支持的通用属性。
1、绘制组件使用Shape作为父组件,实现类似SVG的效果。
2、绘制组件单独使用,用于在页面上绘制指定的图形。

如果一定要xml格式的,使用xml生成的方式,生成xml的shape,请参考xml生成的文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/xml-generation-V5

2、HarmonyOS 全局的loading组件?

全局的loading组件、调接口前开启loading,接口结束时、关闭loading

想要loading弹窗代码全局直接可以引用,不用每个页面都写

目前暂不支持声明全局的CustomDialogController,CustomDialogController仅在作为@CustomDialog和@Component struct的成员变量,且在@Component struct内部定义时赋值才有效。

建议使用:promptAction.openCustomDialog,相关文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-promptaction-V5

对话框customDialogId要保持一致,建议使用全局变量,参考demo如下:

//index.ets
import { promptAction } from '@kit.ArkUI'
import { customDialogBuilder } from './components'

AppStorage.setOrCreate('customDialogId', 0);
@Entry
@Component
struct Index {
  @State message: string = 'Hello World'
  @StorageLink('customDialogId') customDialogId: number = 1;
  build() {
    Row() {
      Column() {
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
          .onClick(() => {
            promptAction.openCustomDialog({
              builder: customDialogBuilder.bind(this)
            }).then((dialogId: number) => {
              this.customDialogId = dialogId
            })
          })
      }
      .width('100%')
    }
    .height('100%')
  }
}

//custom.ets
import promptAction from '@ohos.promptAction'

@Builder
export function customDialogBuilder() {
  Column() {
    Text('Custom dialog Message').fontSize(10)
    Row() {
      Button("确认").onClick(() => {
        promptAction.closeCustomDialog(AppStorage.get<number>('customDialogId'))
      })
      Blank().width(50)
      Button("取消").onClick(() => {
        promptAction.closeCustomDialog(AppStorage.get<number>('customDialogId'))
      })
    }
  }.height(200).padding(5)
}
3、HarmonyOS toogle 和checkbox的样式如何切换为圆方形?

toogle 和checkbox的样式如何切换为圆方形? 现在进去默认都是圆圈 怎么切回圆方形?

ToggleType目前只支持三种类型,就是官方文档中的三种类型,如果 想要圆方形的话,使用checkbox。toogle参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-components-basic-toggle-V5

其次,checkbox的样式查看底层代码可以知道:CheckBoxShape目前有两种类型,当CheckBoxShape.ROUNDED_SQUARE=1时就是圆方形,checkbox参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-checkbox-V5

4、HarmonyOS h5上可以通过document.addEventListener(“keyboardhide”,function())监听到键盘收起吗?

可以通过监听“resize”实现,请参考如下demo:

//监听窗口
var originHeight = window.innerHeight;
window.addEventListener("resize",function(){
if (window.innerHeight < originHeight) {
// 键盘展开
} else {
// 键盘收起
}
});
5、HarmonyOS 在进入下一个页面时,上一个页面的弹窗会偶发的出现在下一个页面?

请确认弹窗是否设置了showInSubWindow属性为true,设置了该属性后弹窗将在子窗口中显示,跳转会出现弹窗不关闭的情况

参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-methods-custom-dialog-box-V5


http://www.kler.cn/a/459186.html

相关文章:

  • 【服务器】上传文件到服务器并训练深度学习模型下载服务器文件到本地
  • MySQL有哪些锁?
  • C#Halcon深度学习预热与否的运行时间测试
  • 试用ChatGPT的copilot编写一个程序从笔记本电脑获取语音输入和图像输入并调用开源大模型进行解析
  • typescript中的interface理解
  • HuatuoGPT-o1:基于40K可验证医学问题的两阶段复杂推理增强框架,通过验证器引导和强化学习提升医学模型的推理能力
  • 利用JavaScript实现猜数字
  • k8S-foundation-_ label、ns
  • Java设计模式 —— 【行为型模式】模板方法模式(Template Method Pattern) 详解
  • EasyExcel(环境搭建以及常用写入操作)
  • 智能工厂的设计软件 应用场景的一个例子:为AI聊天工具添加一个知识系统 之8 重新开始 之1
  • 如何在 Ubuntu 22.04 上添加 Swap 内存
  • nginx中try_files $uri $uri index.html的作用 和 $uri的含义
  • 【每日学点鸿蒙知识】PersistentStorage持久化、插槽方法、相对布局、上拉加载下拉刷新、List联动滑动
  • 【GO基础学习】Gin 框架中间件的详解
  • Error: The Calculated NPWS= 84330 != The Read NPWS= 84328
  • 优化租赁小程序提升服务效率与用户体验的策略与实践
  • 代码随想录算法训练营第六天 | 242. 有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和
  • 如何利用无线路由器实现水泵房远程监测管理
  • 关于科研工具的思考
  • 企业能源物联网数据采集设备
  • WOFOST作物模型(3):敏感性分析
  • 学习鸿蒙第一天
  • shell指令操作
  • 机器学习之逻辑回归算法、数据标准化处理及数据预测和数据的分类结果报告
  • 【VBA】EXCEL - VBA 创建 Sheet 表的 6 种方法,以及注意事项