- 博客(200)
- 收藏
- 关注
原创 鸿蒙UI开发之RoundedImageView
RoundedImageView支持圆角(和椭圆或圆形)的快速 ImageView。它支持许多附加功能,包括椭圆、圆角矩形、ScaleTypes 和 TileModes。
2025-06-29 20:55:03
392
原创 鸿蒙开发——分割线
在实际的开发中,如果自带的分割线能够满足我们的需求,以自身的分割线属性为主,如果不满足,我们可以使用组件进行绘制。一般来说,关于Divider组件很少用于列表中,一般都是固定UI中需要一个分割线,这时就可以进行使用。
2025-06-27 17:35:55
457
原创 鸿蒙开发——Navigation路由组件使用
使用了插件和路由库之后,在每个Module下都会生成一个路由配置文件,以Module名字+RouterConfig为文件命名,此路由配置文件,也会在AbilityStage中,通过routerInitConfig方法进行自动配置。子页面注解的作用很简单,用来标记页面的唯一标识,也就是别名,要求格式为:Module名字+下划线+定义的别名。如entry Module下:entry_test1,entry_test2等等如test Module下:test_test1,test_test2等等。
2025-06-27 16:39:33
2392
原创 鸿蒙开发——Navigation路由组件
如果你觉得这篇内容让你有所收获,我想请你帮我三个小忙~关注小编,不定期分享技术知识同时请期待后续文章ing🚀。
2025-06-27 15:03:35
864
转载 鸿蒙开发——填充剩余空间
关于占满剩余的空间,如果权重能够解决,还是以权重为主,因为Blank的使用必须父组件的宽高有值,否则就会不生效,当然了,在实际的开发中,还是具体问题具体分析,使用恰当的方式解决为主。
2025-06-27 14:30:23
808
原创 鸿蒙开发:轮播图Banner组件封装与使用
如果你觉得这篇内容让你有所收获,我想请你帮我三个小忙~关注小编,不定期分享技术知识同时请期待后续文章ing🚀。
2025-06-27 13:49:49
678
原创 鸿蒙开发——ArkTs字符串string
let string = "我是双引号字符串"console.log("字符串长度:" + length)//打印内容为:字符串长度:8如果你觉得这篇内容让你有所收获,我想请你帮我三个小忙~关注小编,不定期分享技术知识同时请期待后续文章ing🚀。
2025-06-26 21:01:33
1033
原创 鸿蒙开发——自定义一个剪辑双滑块组件
这里代码上,我也是按照一中所述,分为了三层,底层轨道,中层边框,上层滑块。大家尽量不要用我默认的轨道,因为默认的只是简单的实现了音轨,并没有根据视频或者音频的频率来进行绘制,所以并不太满足实际的开发需求,所以,针对此,我抛出了一个传递视图的方法,大家可以实现这个方法来传递自己的组件。目前左滑块还有右滑块,返回都是百分比,在实际的开发中,两边有可能是时间,那么就需要根据进度计算当前滑动的时间。
2025-06-26 19:53:09
640
原创 鸿蒙开发——ArkTs数据类型
本文代码案例基于Api13。数据类型,在开发中是最常见的,无论是哪一种语言,无时无刻不在与其打交道,它是编程语言中用于定义变量、函数返回值、数据结构等可以存储数据种类和范围的一种机制,它也是编程语言对内存中数据的抽象表示,正因为有了数据类型,才使得程序员能够以更加清晰和易于理解的方式编写代码,同时确保了数据的正确性和安全性。无论是哪一种的编程语言,对于数据类型的表示可能有所区别,但也基本上可以分为两种类型,一种是基本数据类型,另一种是符合数据类型。
2025-06-26 16:22:26
889
转载 鸿蒙开发——申请授权权限
还是那句话,在申请权限的时候,应当严格遵循最小权限原则,结合动态申请和清晰的用户引导,避免给用户带来不好体验,同样,遵循,在使用到权限的时候再去申请,切记,过前进行申请。如果你觉得这篇内容让你有所收获,我想请你帮我三个小忙~关注小编,不定期分享技术知识同时请期待后续文章ing🚀。
2025-06-26 15:25:39
821
转载 鸿蒙开发——权限管理之授权方式
在实际的应用开发中,合理选择 system_grant和user_grant是平衡功能实现与用户隐私的关键,system_grant 适用于基础功能,简化开发流程;user_grant 用于敏感操作,需重视用户体验和隐私合规。还有一点,在权限管理的时候,应当严格遵循最小权限原则,结合动态申请和清晰的用户引导,既保障功能完整性,又避免给用户带来不好体验。切记,权限在使用的时候才去申请,不要提前申请,还有在项目中禁止滥用权限,否则可能会导致应用下架。
2025-06-25 21:05:40
1046
原创 鸿蒙开发——ArkTs语言变量和常量
成员变量定义age = 18如果你觉得这篇内容让你有所收获,我想请你帮我三个小忙~关注小编,不定期分享技术知识同时请期待后续文章ing🚀。
2025-06-25 19:36:55
746
原创 鸿蒙开发——console日志输出
console是一个全局对象,可以直接访问,虽然说可以直接访问,但并不意味着它可以在任何的地方都能调用,使用它必须得有承载的逻辑,比如在方法中,在一个点击事件中,如果你直接写到一个类中,或者UI页面中,这个是完全禁止的,这一点,初学者需要注意。常用方法汇总方法描述debug以格式化输出方式打印调试信息。log以格式化输出方式打印日志信息。info以格式化输出方式打印日志信息。(console.log()的别名)warn以格式化输出方式打印警告信息。error。
2025-06-25 15:17:59
1013
原创 鸿蒙开发——自定义一个简单的标题栏
)title: "左侧按钮自己定义",})title: "右侧按钮自己定义",})本身就是一个很简单的标题栏组件,没有什么过多的技术含量,有一点需要注意,当使用沉浸式的时候,注意标题栏的位置,需要避让状态栏。结束语:想要获取完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料纯血版鸿蒙全套学习进阶资料大厂面试真题。
2025-06-25 14:47:51
1126
转载 鸿蒙开发——权限管理之权限声明
如果在某一个子模块中已经申请了权限,那么在主项目无须重复添加,因为权限将在整个应用中进行生效。本文,主要简单概述了为什么要有权限管理,以及权限管理的声明原则,这些都是基本的概念内容,大家做为了解即可,重要的是怎么声明权限,在什么位置声明权限,这一点需要掌握。如果你觉得这篇内容让你有所收获,我想请你帮我三个小忙~关注小编,不定期分享技术知识同时请期待后续文章ing🚀。
2025-06-25 13:58:27
798
原创 鸿蒙开发——切换至基于rcp的网络请求
Remote Communication Kit(远场通信服务)是华为提供的HTTP发起数据请求的NAPI封装,应用通过Remote Communication Kit可便捷快速地向服务器发起数据请求。使用Remote Communication Kit的主要业务流程如下:1、应用客户端创建会话。2、应用客户端发起请求。3、应用客户端接收请求结果,处理相应业务。
2025-06-24 18:21:14
875
原创 鸿蒙开发——了解应用级配置信息
在实际的开发中,如果有共用的资源,建议大家都放到AppScope目录下,对于一些应用级别的信息,比如应用的名字,还有应用的图标,虽然说在Moulde下也可以配置,但是为了更方便的管理,这里比较推荐以AppScope目录下的app.json5为主,当然了,只是推荐,实际当中,两者都可以实现,大家选择其中一种方式即可。如果你觉得这篇内容让你有所收获,我想请你帮我三个小忙~关注小编,不定期分享技术知识同时请期待后续文章ing🚀。
2025-06-24 16:15:43
645
原创 鸿蒙开发——自定义一个Toast
toast("自定义视图", {})属性类型概述boolean是使用主window还是子windowtoast配置属性如果整个项目的toast样式都一样,直接在初始化中设置统一的属性即可,针对单独不一样的效果,可以单独设置。如果你觉得这篇内容让你有所收获,我想请你帮我三个小忙~关注小编,不定期分享技术知识同时请期待后续文章ing🚀。
2025-06-24 15:28:58
935
原创 鸿蒙开发——自定义动态输入框
属性类型概述number输入框数量,默认为6个Length每个输入框的宽度,默认为100%Length每个输入框的高度,默认为100%输入框的背景inputTypeInputType键盘类型,默认为InputType.NumberLength输入框之间的间隙,默认为10inputWidthLength输入框整体的宽度Length输入框整体的高度Length圆角边框大小输入框选中边框背景输入框未选中边框背景Length输入框整体距离左边的距离Length。
2025-06-24 14:49:28
976
原创 鸿蒙开发——实现AI打字机效果
需要注意的是,内容一般都是以markdown的形式输出,也就是真实的数据中,内容都是有样式的,比如加粗,图片,表格等等,所以,不能以单一的Text组件进行展示,需要针对markdown文本适配。打字机的效果,更多的是在服务端的数据输出,客户端,最主要的是针对数据的渲染。
2025-06-24 13:50:03
796
转载 鸿蒙开发——相对布局RelativeContainer
当然了,RelativeContainer组件还有着其它的属性,但是最重要的也就是位置的摆放,其实也就是相对于锚点组件的摆放;通过上述的案例,我们不难发现,所谓的左上右下,反着来就是对的,比如在锚点上边,我用bottom,在锚点下面,我用top,在实际的开发中,可极大节约我们的开发时间。如果你觉得这篇内容让你有所收获,我想请你帮我三个小忙~关注小编,不定期分享技术知识同时请期待后续文章ing🚀。
2025-06-23 21:52:15
829
原创 鸿蒙开发——wrapBuilder传递参数
在属性定义文件中,定义我们需要接收的数据,由于数据的类型不确定,这里我们可以直接定义为一个Object。本文,主要简单了介绍了一下,非UI使用的情况下,wrapBuilder传递数据问题,除了以上的方式之外,还有其它的方式可以实现,在实际的开发中,还是具体问题具体分析。如果你觉得这篇内容让你有所收获,我想请你帮我三个小忙~关注小编,不定期分享技术知识同时请期待后续文章ing🚀。
2025-06-23 19:31:30
620
转载 鸿蒙开发——wrapBuilder来封装全局@Builder
testData?: string = "测试数据"创建全局组件@Builder组件调用@Entry@Componentbuild() {Column() {Button("点击").onClick(() => {this.test.testData = "改变数据"})首先第一点,在同一个UI组件内,同一个wrapBuilder只能初始化一次,第二点就是WrappedBuilder对象的builder属性方法只能在struct内部使用。view?
2025-06-23 16:58:41
802
原创 鸿蒙开发——校验构造传参装饰器@Require
Require装饰器其主要功能是在组件初始化时自动校验传入参数的合法性,通过预定义的校验规则,它可以有效拦截非法参数,避免因数据问题导致的运行时异常或逻辑错误。@Require装饰器以声明式语法将参数校验前置到编译阶段,显著降低因参数错误导致的运行时报错风险;然而,对于复杂的业务规则,比如联合使用类型或自定义校验函数等场景,以及需在生命周期函数中补充校验逻辑时,除了正确使用@Require装饰器,还需要结合其它的判断逻辑。
2025-06-23 16:13:44
649
原创 鸿蒙开发——V2版本装饰器之@Monitor装饰器
如果要实现@Monitor监听,其变量一定要被@Local、@Param、@Provider、@Consumer、@Computed装饰,未被修饰则无法被监听,还有,如果监听对象的变化,则不建议在一个类中对同一个属性进行多次@Monitor的监听,多次监听,只有最后一个定义的监听方法才会有效。
2025-06-22 22:23:18
921
原创 鸿蒙开发——V2版本装饰器@Once
Once装饰器作为辅助装饰器,本身没有对装饰类型的要求以及对变量的观察能力,但是它具有两个作用,第一个是解决@Param装饰器修饰后的属性不能修改问题,第二个就是,实现仅从外部初始化一次、不接受后续同步变化的能力,也就是当后续数据源更改时,不会将修改同步给子组件。有一点需要注意,那就是@Once装饰器不能单独使用,必须搭配@Param使用,结合使用时,不会影响@Param的观测能力,仅针对数据源的变化做拦截,还有就是谁在前谁在后,这个都不会造成影响。
2025-06-22 21:38:39
471
原创 鸿蒙开发——ArkTs语言注释
所谓注释,在程序开发中,就是针对一段代码进行标注解释,好的注释能够提高代码的可读性,让代码的维护者能更快的介入,比如我们把前面的代码拿出来,如果是一个初学者,就需要翻阅资料进行了解每一个属性的作用和意思。但是有了注释之后,就很能直观的看出每一个属性的意思,这就是注释的作用。
2025-06-22 20:25:25
824
转载 鸿蒙开发——搞懂@BuilderParam装饰器
Builderbuild() {@BuilderParam用于接收@Builder定义的函数,私有和全局都可以。定义全局的@Builder。@BuilderText("测试数据一")调用@Entry@Componentbuild() {Column() {
2025-06-21 22:24:23
581
转载 鸿蒙开发——了解@Builder装饰器
在前言中已经明确告知,@Builder它是一个装饰器,主要用于UI元素的复用以及抽取,@Builder所修饰的函数,统称为“自定义构建函数”,可以在函数中定义任何的UI组件,用法和build中的使用是一样的。@Builder装饰是鸿蒙UI开发中,非常重要的一个装饰器,在实际的开发中,合理且正确的使用,能够让我们的代码更加的简洁,有两点需要注意,一是,是用私有还是全局,取决于当前的组件的复用机制,如果多个页面都使用了,建议以全局为主;二是传参的动态更新,有更新就使用引用参数传递,没有更新按值传递即可。
2025-06-21 20:31:56
1133
原创 鸿蒙开发——简单自定义一个绘制画板
画板,最重要的就是绘制,保证线条绘制的连续性,这一点很重要,还有就是beginPath方法一定要调用,否则更改颜色以及绘制就会出现不连续以及颜色设置错误问题。
2025-06-21 19:53:59
273
原创 鸿蒙元服务项目开发实战——备忘录UI页面开发
UI页面绘制没什么好说的,就是组件的位置摆放,和组件的显示逻辑,有很多的属性并没有文章记录,大家可以去仓库中查看即可,文章中用到了我的一个标题栏组件,如果大家不想用,可以使用自己写的即可。
2025-06-20 19:57:01
834
原创 鸿蒙开发——异步并发操作
首先,Promise它是一种用于处理异步操作的对象,并且提供了一个状态机制来管理异步操作的不同阶段,使用Promise有两个特点,第一个特点,它可以结合async/await,将异步操作转换为类似于同步操作的风格,第二个特点就是,正常的异步操作,使用回调函数来处理成功或失败的结果。//结果//错误});
2025-06-20 16:00:14
977
原创 鸿蒙开发——了解正则表达式
合理的使用正则表达式,确实在实际的开发中能给我们带来一定的便利,特别是在一些复杂的匹配时,能够带来高效的查找,也能够提高我们的开发效率,但在处理极度复杂任务时可能需要结合其他工具。
2025-06-20 14:49:36
576
原创 鸿蒙开发——适配系统深浅色模式
无论是资源模式,还是代码模式,都可以实现跟随系统模式的改变而改变,如果,你不想跟着系统改变,有两种方式,第一种方式是正常开发就行,默认就是浅色模式,但是,如果你想默认深色模式,那么就需要进行代码设置了,设置之后,就不会跟着系统的改变而改变了。
2025-06-20 14:15:08
340
转载 鸿蒙开发——了解属性动画
无论是是使用animateTo还是animation,其实最终要改变的都是组件的可执行属性,最终的效果是一致的,animateTo是闭包内改变属性引起的界面变化,一般作用于出现消失转场,而animation则是组件通过属性接口绑定的属性变化引起的界面变化,一般使用场景为,animateTo适用对多个可动画属性配置相同动画参数的动画,需要嵌套使用动画的场景;animation适用于对多个可动画属性配置不同参数动画的场景。
2025-06-19 20:43:02
850
转载 鸿蒙开发——实现一个简单的网格拖拽
需要注意的是,以上的代码仅仅是做到了禁止拖拽,但是,有一个潜在的问题是,别的条目是可以和它进行交换的,交换过之后,由于它的索引发生了变化,就变得可以拖拽了,如果想实现真正的,即便被交换后也不能拖拽,那就不能判断索引了,可以以唯一值进行判断,比如item数据换成对象,在对象里定义唯一值。如何拿到第一个item的坐标呢,其实每一个组件都有一个方法,onAreaChange,通过这个属性,我们就可以拿到任何一个组件的宽高还有,xy的坐标,当然,你也可以通过计算的方式,毕竟,屏幕的宽高,还有条目的宽高你都知道。
2025-06-19 14:57:43
487
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅