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

news2025/1/4 11:10:28
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.coloradmin.cn/o/2268638.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

随机种子定不死找bug

记录一次debug的心路历程 在运行别人的开源项目时遇到了随机种子定不死的情况, 运行一开始会有1e-5次方左右的误差, 后面误差会越来越大。 一开始以为是随机种子没有定死, 使用的以下代码固定的随机种子: torch.manual_seed(seed)torch.cuda.manual_seed(seed)torch.cuda.manu…

STM32学习之 按键/光敏电阻 控制 LED/蜂鸣器

STM32学习之 按键/光敏电阻 控制 LED/蜂鸣器 1、按键控制 LED 按键:常见的输入设备&#xff0c;按下导通&#xff0c;松手断开 按键抖动:由子按键内部使用的是机械式弹簧片来进行通断的、所以在按下和松手的瞬间会伴随有一连串的抖动 按键控制LED接线图&#xff1a; 要有工程…

深入理解Redis:从理论到实践的Java之旅

Redis&#xff0c;这个开源的内存数据结构存储系统&#xff0c;自2009年诞生以来&#xff0c;凭借其丰富的数据结构、快速的读写性能以及高度的可扩展性&#xff0c;迅速成为了分布式系统和高并发应用中的明星组件。本文将带你深入理解Redis&#xff0c;并通过Java语言的实践示…

VS Code中怎样查看某分支的提交历史记录

VsCode中无法直接查看某分支的提交记录&#xff0c;需借助插件才行&#xff0c;常见的插件如果git history只能查看某页面的改动记录&#xff0c;无法查看某分支的整体提交记录&#xff0c;我们可以安装GIT Graph插件来解决这个问题 1.在 VSCode的插件库中搜索 GIT Graph安装&a…

Flutter适配HarmonyOS实践

大家在知道纯血鸿蒙到来的时候一定很疑惑&#xff0c;使用跨平台语言的到底该怎么办&#xff0c;不管使用Flutter还是使用原生鸿蒙开发&#xff0c;都会考虑到一个成本问题&#xff0c;特别是一些无法支持鸿蒙开发团队&#xff0c;已经使用跨平台开发已经很成熟的公司或者团队。…

XIAO Esp32S3 播放网络Mp3

本文旨在使用XIAO Esp32S3 播放网络Mp3 所需硬件 max98357 接线 Xiao Esp32 S3Max983574LRC5BCLK 6DIN5VVinGNDGND代码: #include "Arduino.h" #include "WiFiMulti.h" #include "Audio.h"// Digital I/O used #def

智能边缘计算×软硬件一体化:开启全场景效能革命新征程(高校开发者作品)

边缘智能技术快速迭代&#xff0c;并与行业深度融合。它正重塑产业格局&#xff0c;催生新产品、新体验&#xff0c;带动终端需求增长。为促进边缘智能技术的进步与发展&#xff0c;拓展开发者的思路与能力&#xff0c;挖掘边缘智能应用的创新与潜能&#xff0c;高通技术公司联…

ubuntu22 安装CUDA

在Ubuntu系统中&#xff0c;使用nvidia-smi命令可以看到当前GPU信息&#xff0c;在右上角可以看到CUDA Version&#xff0c;意思是最大支持的CUDA版本号。 安装下载 CUDA Toolkit 11.6 Downloads | NVIDIA Developer https://developer.nvidia.com/cuda-downloads?target_osL…

VectorCAST入门指导

文章目录 1. VectorCAST 概述2. 启动 VectorCAST(Windows用户)2. 故障排除3. VectorCAST 界面4. 创建一个 VectorCAST 项目5. 设置工作目录6. 创建一个新项目7. 添加一个单元测试环境8. 添加测试用例9. 执行所有测试1. VectorCAST 概述 VectorCAST是一套测试自动化工具: Vecto…

12.30 linux 文件操作,磁盘分区挂载

ubuntu 在linux 对文件的相关操作【压缩&#xff0c;打包&#xff0c;软链接&#xff0c;文件权限】【head&#xff0c;tail&#xff0c;管道符&#xff0c;通配符&#xff0c;find&#xff0c;grep&#xff0c;cut等】脑图-CSDN博客 1.文件操作 在家目录下创建目录文件&#…

Zabbix 监控平台 添加监控目标主机

Zabbix监控平台是一个企业级开源解决方案&#xff0c;用于分布式系统监视和网络监视。它由Zabbix Server和可选组件Zabbix Agent组成&#xff0c;通过C/S模式&#xff08;客户端-服务器模型&#xff09;采集数据&#xff0c;并通过B/S模式&#xff08;浏览器-服务器模型&#x…

第10章 初等数论

2024年12月27日一稿&#xff08;P341&#xff09; 2024年12月28日二稿 2024年12月29日三稿 当命运这扇大门向你打开的时候&#xff0c;不要犹豫和害怕&#xff0c;一直往前跑就是了&#xff01; 10.1 素数 这里写错了&#xff0c;不能整除应该表示为 10.2 最大公约数与最小公…

R语言6种将字符转成数字的方法,写在新年来临之际

咱们临床研究中&#xff0c;拿到数据后首先要对数据进行清洗&#xff0c;把数据变成咱们想要的格式&#xff0c;才能进行下一步分析&#xff0c;其中数据中的字符转成数字是个重要的内容&#xff0c;因为字符中常含有特殊符号&#xff0c;不利于分析&#xff0c;转成数字后才能…

微信流量主挑战:三天25用户!功能未完善?(新纪元4)

&#x1f389;【小程序上线第三天&#xff01;突破25用户大关&#xff01;】&#x1f389; 嘿&#xff0c;大家好&#xff01;今天是我们小程序上线的第三天&#xff0c;我们的用户量已经突破了25个&#xff01;昨天还是16个&#xff0c;今天一觉醒来竟然有25个&#xff01;这涨…

Ps:将数据组作为文件导出

Ps菜单&#xff1a;文件/导出/数据组作为文件 Export/Data Sets as Files “将数据组作为文件导出” Export Data Sets as Files命令是 Photoshop 数据驱动设计功能的一部分&#xff0c;用于结合可变数据和模板&#xff0c;生成多个文件。 1、自动化批量生成 适用于名片、证书、…

Java基本操作笔记

命令行快速进入指定文件夹 快速切换进入指定文件 文件夹快速切换 idea开发步骤 快捷键 修改模块 选中模块右键依次选择 选择第三个修改模块和文件夹的名称 输入修改后的名字回车 导入模块 找到要导入的模块&#xff0c;ctrc复制该文件夹 打开idea找到工程文件夹ctrv粘贴 点击o…

OpenCV-Python实战(8)——图像变换

一、缩放 cv2.resize() img cv2.resize(src*,dsize*,fx*,fy*,interpolation*) img&#xff1a;目标图像。 src&#xff1a;原始图像。 dsize&#xff1a;&#xff08;width&#xff0c;height&#xff09;图像大小。 fx、fy&#xff1a;可选参数&#xff0c;水平/垂直方向…

Spring thymeleaf 的快速默认搭建使用

Spring thymeleaf 的快速默认搭建使用 thymeleaf 的搭建Pom 文件 thymeleaf 的使用Controller返回参数String资源文件路径访问端点显示HTML页面 thymeleaf 的搭建 Pom 文件 Pom 文件引入 spring-boot-starter-thymeleaf 依赖 <dependency><groupId>org.springfra…

Linux | 零基础Ubuntu搭建JDK

目录 软件简介 在线文档 压缩包安装 下载地址 补:传输软件 传输等待 目录结构 解压安装 配置环境 更新环境 测试JDK结果 APT安装 软件简介 Java Development Kit (JDK) 是 Sun 公司&#xff08;已被 Oracle 收购&#xff09;针对 Java 开发员的软件开发工具包。自…

揭秘 Fluss 架构组件

这是 Fluss 系列的第四篇文章了&#xff0c;我们先回顾一下前面三篇文章主要说了哪些内容。 Fluss 部署&#xff0c;带领大家部署Fluss 环境&#xff0c;体验一下 Fluss 的功能Fluss 整合数据湖的操作&#xff0c;体验Fluss 与数据湖的结合讲解了 Fluss、Kafka、Paimon 之间的…