- 鸿蒙最佳实践之优先使用@Builder方法代替@Component组件 前言大家好,我是青蓝逐码组织的君莫笑。今天给大家分享鸿蒙中最佳实践的知识点,优先使用@Builder代替@Component组件。 为什么我们要用@Builder代替@Component组件?我们在实际开发中,大多数还是使用@Component来进行组件封装复用,因为其拓展性好,还能直接在内部修改状态变量,并且功能也比... 鸿蒙最佳实践之优先使用@Builder方法代替@Component组件 前言大家好,我是青蓝逐码组织的君莫笑。今天给大家分享鸿蒙中最佳实践的知识点,优先使用@Builder代替@Component组件。 为什么我们要用@Builder代替@Component组件?我们在实际开发中,大多数还是使用@Component来进行组件封装复用,因为其拓展性好,还能直接在内部修改状态变量,并且功能也比...
- HarmonyOS Next 性能优化方面这篇文章的主要目的是介绍在鸿蒙中比较容易被忽视的坑点,如果你不去仔细查看华为的官方文档就会踩坑!! 1.大量数据并且使用懒加载情况下的Scroll滑动组件嵌套List滑动组件(滑动组件:Scroll,List等可以滑动的组件)子滑动组件一定要指定宽高!!文档链接在许多场景下都会用到长列表配上懒加载,并且在一些特定的UI需求下需要嵌套list等滑动组... HarmonyOS Next 性能优化方面这篇文章的主要目的是介绍在鸿蒙中比较容易被忽视的坑点,如果你不去仔细查看华为的官方文档就会踩坑!! 1.大量数据并且使用懒加载情况下的Scroll滑动组件嵌套List滑动组件(滑动组件:Scroll,List等可以滑动的组件)子滑动组件一定要指定宽高!!文档链接在许多场景下都会用到长列表配上懒加载,并且在一些特定的UI需求下需要嵌套list等滑动组...
- HarmonyOS Text组件Span间距解决方案 一、问题分析在HarmonyOS开发中,Text组件内的Span子组件无法直接设置margin/padding属性,需要通过文本级属性实现间距控制。经过验证,使用letterSpacing结合特殊占位符的方案是当前最优解。 二、技术方案 1. 核心APIletterSpacing作用:设置同一Span内字符间距单位:vp(虚拟像素)特性... HarmonyOS Text组件Span间距解决方案 一、问题分析在HarmonyOS开发中,Text组件内的Span子组件无法直接设置margin/padding属性,需要通过文本级属性实现间距控制。经过验证,使用letterSpacing结合特殊占位符的方案是当前最优解。 二、技术方案 1. 核心APIletterSpacing作用:设置同一Span内字符间距单位:vp(虚拟像素)特性...
- HarmonyOS如何实现Text根据对应的字符串改变Text中字符指定颜色? 前言大家好,我是青蓝逐码组织的君莫笑。相信大家在各种项目中多多少少都会遇到一大串字符串中里面有特定的字符需要进行颜色变换以及点击事件,但是官方目前没有找到直接可以用的组件,因此我参考各路大神以及自己理解封装了一个组件,在项目中可以直接使用,并且你可以根据项目需要进行修改拓展。 组件封装首先为了性能考虑我们使用@... HarmonyOS如何实现Text根据对应的字符串改变Text中字符指定颜色? 前言大家好,我是青蓝逐码组织的君莫笑。相信大家在各种项目中多多少少都会遇到一大串字符串中里面有特定的字符需要进行颜色变换以及点击事件,但是官方目前没有找到直接可以用的组件,因此我参考各路大神以及自己理解封装了一个组件,在项目中可以直接使用,并且你可以根据项目需要进行修改拓展。 组件封装首先为了性能考虑我们使用@...
- HarmonyOS中如何在类中调用全局的弹窗 前言相信大家在开发中自定义弹窗都是用的@CustomDialog在每个页面都写一大堆初始化代码,并且在类中使用也是相当难调用,今天给老铁们分享使用promptAction.openCustomDialog去在类中调用全局的弹窗。 如何使用? 第一步先到EntryAbility这个文件存取上下文(必要条件)onWindowStageCreate(... HarmonyOS中如何在类中调用全局的弹窗 前言相信大家在开发中自定义弹窗都是用的@CustomDialog在每个页面都写一大堆初始化代码,并且在类中使用也是相当难调用,今天给老铁们分享使用promptAction.openCustomDialog去在类中调用全局的弹窗。 如何使用? 第一步先到EntryAbility这个文件存取上下文(必要条件)onWindowStageCreate(...
- 资源文件用于存放应用在多种语言场景下的资源内容,开发框架使用JSON文件保存资源定义。在文件组织中指定的i18n文件夹内放置语言资源文件,其中语言资源文件的命名是由语言、文字、国家或地区的限定词通过中划线连接组成,其中文字和国家或地区可以省略,如zh-Hant-HK(中国香港地区使用的繁体中文)、zh-CN(中国使用的简体中文)、zh(中文)。限定词的取值需符合下表要求。表1 限定词取值要求限定词 资源文件用于存放应用在多种语言场景下的资源内容,开发框架使用JSON文件保存资源定义。在文件组织中指定的i18n文件夹内放置语言资源文件,其中语言资源文件的命名是由语言、文字、国家或地区的限定词通过中划线连接组成,其中文字和国家或地区可以省略,如zh-Hant-HK(中国香港地区使用的繁体中文)、zh-CN(中国使用的简体中文)、zh(中文)。限定词的取值需符合下表要求。表1 限定词取值要求限定词
- 兼容JS的类Web开发范式的方舟开发框架,采用经典的HML、CSS、JavaScript三段式开发方式。使用HML标签文件进行布局搭建,使用CSS文件进行样式描述,使用JavaScript文件进行逻辑处理。UI组件与数据之间通过单向数据绑定的方式建立关联,当数据发生变化时,UI界面自动触发更新。此种开发方式,更接近Web前端开发者的使用习惯,快速将已有的Web应用改造成方舟开发框架应用。主要适用于 兼容JS的类Web开发范式的方舟开发框架,采用经典的HML、CSS、JavaScript三段式开发方式。使用HML标签文件进行布局搭建,使用CSS文件进行样式描述,使用JavaScript文件进行逻辑处理。UI组件与数据之间通过单向数据绑定的方式建立关联,当数据发生变化时,UI界面自动触发更新。此种开发方式,更接近Web前端开发者的使用习惯,快速将已有的Web应用改造成方舟开发框架应用。主要适用于
- 在pages目录下创建一个Web组件。在Web组件中通过src指定引用的网页路径,controller为组件的控制器,通过controller绑定Web组件,用于调用Web组件的方法。 在pages目录下创建一个Web组件。在Web组件中通过src指定引用的网页路径,controller为组件的控制器,通过controller绑定Web组件,用于调用Web组件的方法。
- 线性布局(LinearLayout)是开发中最常用的布局。线性布局的子组件在线性方向上(水平方向和垂直方向)依次排列。通过线性容器Row和Column实现线性布局。Column容器内子组件按照垂直方向排列,Row组件中,子组件按照水平方向排列。线性布局的排列方向由所选容器组件决定。根据不同的排列方向,选择使用Row或Column容器创建线性布局,通过调整space,alignItems,justi 线性布局(LinearLayout)是开发中最常用的布局。线性布局的子组件在线性方向上(水平方向和垂直方向)依次排列。通过线性容器Row和Column实现线性布局。Column容器内子组件按照垂直方向排列,Row组件中,子组件按照水平方向排列。线性布局的排列方向由所选容器组件决定。根据不同的排列方向,选择使用Row或Column容器创建线性布局,通过调整space,alignItems,justi
- 除绘制基础几何图形,开发者还可以使用Path组件来绘制自定义的路线,下面进行绘制应用的Logo图案。1.在pages文件夹下创建新的页面Logo.ets。2.Logo.ets中删掉模板代码,创建LogoComponent。 除绘制基础几何图形,开发者还可以使用Path组件来绘制自定义的路线,下面进行绘制应用的Logo图案。1.在pages文件夹下创建新的页面Logo.ets。2.Logo.ets中删掉模板代码,创建LogoComponent。
- 当前对每个成分单元都进行了声明,造成了代码的重复和冗余。可以使用@Builder来构建自定义方法,抽象出相同的UI结构声明。@Builder修饰的方法和Component的build方法都是为了声明一些UI渲染结构,遵循一样的ArkTS语法。可以定义一个或者多个@Builder修饰的方法,但Component的build方法必须只有一个。 当前对每个成分单元都进行了声明,造成了代码的重复和冗余。可以使用@Builder来构建自定义方法,抽象出相同的UI结构声明。@Builder修饰的方法和Component的build方法都是为了声明一些UI渲染结构,遵循一样的ArkTS语法。可以定义一个或者多个@Builder修饰的方法,但Component的build方法必须只有一个。
- 基于ArkTS的声明式开发范式的方舟开发框架是一套开发极简、高性能、跨设备应用的UI开发框架,支持开发者高效的构建跨设备应用UI界面。兼容JS的类Web开发范式的方舟开发框架,采用经典的HML、CSS、JavaScript三段式开发方式。使用HML标签文件进行布局搭建,使用CSS文件进行样式描述,使用JavaScript文件进行逻辑处理。UI组件与数据之间通过单向数据绑定的方式建立关联,当数据发生 基于ArkTS的声明式开发范式的方舟开发框架是一套开发极简、高性能、跨设备应用的UI开发框架,支持开发者高效的构建跨设备应用UI界面。兼容JS的类Web开发范式的方舟开发框架,采用经典的HML、CSS、JavaScript三段式开发方式。使用HML标签文件进行布局搭建,使用CSS文件进行样式描述,使用JavaScript文件进行逻辑处理。UI组件与数据之间通过单向数据绑定的方式建立关联,当数据发生
- 卡片是一种界面展示形式,可以将应用的重要信息或操作前置到卡片,以达到服务直达,减少体验层级的目的。卡片常用于嵌入到其他应用(当前只支持系统应用)中作为其界面的一部分显示,并支持拉起页面,发送消息等基础的交互功能。卡片使用方负责显示卡片。卡片的基本概念:卡片提供方:提供卡片显示内容元服务,控制卡片的显示内容、控件布局以及控件点击事件。卡片使用方:显示卡片内容的宿主应用,控制卡片在宿主中展示的位置。卡 卡片是一种界面展示形式,可以将应用的重要信息或操作前置到卡片,以达到服务直达,减少体验层级的目的。卡片常用于嵌入到其他应用(当前只支持系统应用)中作为其界面的一部分显示,并支持拉起页面,发送消息等基础的交互功能。卡片使用方负责显示卡片。卡片的基本概念:卡片提供方:提供卡片显示内容元服务,控制卡片的显示内容、控件布局以及控件点击事件。卡片使用方:显示卡片内容的宿主应用,控制卡片在宿主中展示的位置。卡
- PageAbility是具备ArkUI实现的Ability,是开发者具体可见并可以交互的Ability实例。开发者通过IDE创建Ability时,IDE会自动创建相关模板代码。PageAbility相关能力通过单独的featureAbility实现,生命周期相关回调则通过app.js/app.ets中各个回调函数实现。基于Service模板的Ability主要用于后台运行任务(如执行音乐播放、文件 PageAbility是具备ArkUI实现的Ability,是开发者具体可见并可以交互的Ability实例。开发者通过IDE创建Ability时,IDE会自动创建相关模板代码。PageAbility相关能力通过单独的featureAbility实现,生命周期相关回调则通过app.js/app.ets中各个回调函数实现。基于Service模板的Ability主要用于后台运行任务(如执行音乐播放、文件
- 装饰器类型本地初始化通过构造函数参数初始化@State必须可选@Prop禁止必须@Link禁止必须必须禁止必须禁止@Provide必须可选@Consume禁止禁止禁止必须常规成员变量推荐可选从上表中可以看出:@State变量需要本地初始化,初始化的值可以被构造参数覆盖。@Prop和@Link变量必须且仅通过构造函数参数进行初始化。从父组件中的变量(下)到子组件中的变量(右)@State@Link@ 装饰器类型本地初始化通过构造函数参数初始化@State必须可选@Prop禁止必须@Link禁止必须必须禁止必须禁止@Provide必须可选@Consume禁止禁止禁止必须常规成员变量推荐可选从上表中可以看出:@State变量需要本地初始化,初始化的值可以被构造参数覆盖。@Prop和@Link变量必须且仅通过构造函数参数进行初始化。从父组件中的变量(下)到子组件中的变量(右)@State@Link@
上滑加载中
推荐直播
-
基于HarmonyOS NEXT应用开发之旅
2025/07/17 周四 19:00-20:00
吴玉佩、刘俊威-华为开发者布道师-高校学生
两位学生华为开发者布道师,连续两届HarmonyOS极客马拉松获奖选手联袂呈现HarmonyOS NEXT开发全景!从基础筑基,到工具提效。为您铺就一条从入门到精通的鸿蒙应用开发之路。无论您是新手开发者,还是经验老手,都能在此收获满满干货,开启您的HarmonyOS NEXT高效、智能开发新篇章!
回顾中
热门标签