weightOneMillion
学海无涯,而我是沧海一粟
展开
-
鸿蒙网络管理(1):Network Kit(网络服务)
method: http.RequestMethod.POST, // 可选,默认为http.RequestMethod.GET// 开发者根据自身业务需要添加header字段// 当使用POST请求时此字段用于传递请求体内容,具体格式与服务端协商确定expectDataType: http.HttpDataType.STRING, // 可选,指定返回数据的类型usingCache: true, // 可选,默认为truepriority: 1, // 优先级 可选,默认为1。原创 2025-03-06 14:03:41 · 33 阅读 · 0 评论 -
开发基础(8):鸿蒙图表开发
mpchart是一个包含各种类型图表的图表库,主要用于业务数据汇总,例如销售数据走势图,股价走势图等场景中使用,方便开发者快速实现图表UI,mpchart主要包括线形图、柱状图、饼状图、蜡烛图、气泡图、雷达图、瀑布图等自定义图表库。原创 2025-02-14 19:47:45 · 347 阅读 · 0 评论 -
ArkUI性能优化(0)—DevEco Profiler调优工具
无需关注数据采集细节,分析启动、卡顿、耗时、内存、能耗等场景问题。原创 2024-12-19 11:12:49 · 464 阅读 · 0 评论 -
开发基础(6):一文看懂鸿蒙里面的所有生命周期
自定义组件的创建:自定义组件的实例由ArkUI框架创建。初始化自定义组件的成员变量:通过本地默认值或者构造方法传递参数来初始化自定义组件的成员变量,初始化顺序为成员变量的定义顺序。如果开发者定义了aboutToAppear,则执行aboutToAppear方法。在首次渲染的时候,执行build方法渲染系统组件,如果子组件为自定义组件,则创建自定义组件的实例。在首次渲染的过程中,框架会记录状态变量和组件的映射关系,当状态变量改变时,驱动其相关的组件刷新。原创 2024-12-19 11:12:25 · 245 阅读 · 0 评论 -
开发基础(4):鸿蒙如何实现一键复制(剪切板功能)
mimeType可以选择:也可以自定义。原创 2024-12-18 11:15:43 · 75 阅读 · 0 评论 -
开发基础(5):Promise 异步与同步 async和await
有过异步和同步的基础,但是因为用的实在太少了,在实际开发中总是会忽略这个,进而造成问题。原创 2024-12-18 11:15:06 · 172 阅读 · 0 评论 -
开发基础(3):开发应用沉浸式效果 & 组件安全区方案
典型应用全屏窗口UI元素包括状态栏应用界面和底部导航条,其中状态栏和导航条,通常在沉浸式布局下称为避让区;避让区之外的区域称为安全区。开发应用沉浸式效果主要指通过调整状态栏、应用界面和导航条的显示效果来,从而使用户获得最佳的UI体验。即当应用的界面背景色和系统界面不一致时,未开启沉浸式效果,状态栏和导航栏的背景色就会和应用界面的颜色不一致,造成突兀感。原创 2024-12-05 16:41:03 · 346 阅读 · 0 评论 -
开发基础(1):一次开发,多端部署
自适应布局:屏幕变化时,界面位置关系未发生变化;元素自适应拉伸响应式布局:屏幕变化时,界面位置关系发生变化。原创 2024-12-05 16:40:57 · 45 阅读 · 0 评论 -
状态管理(8)—合理使用状态管理的建议
在实际开发中,合理选择装饰器主要包含以下三步:1.首先根据状态需要共享的范围大小,尽量选择共享能力小的装饰器方案,优先级依次为@State+@Prop、@State+@Link或@State+@Observed+@ObjectLink > @Provide+@Consume > LocalStorage > AppStorage。2.当共享的状态的组件间层级相差较大时,为避免较差的代码可扩展性和可维护性,@Provide+@Consume的方案要优于层层传递的共享方案。原创 2024-11-07 09:50:28 · 175 阅读 · 0 评论 -
ArkUI性能优化(1)—优化布局性能
不合理的页面布局(如:嵌套层级过多等)会导致加载慢、掉帧等现象,造成不好影响在布局阶段中,如果视图嵌套层级较深,或者页面节点过多,会导致在Measure和layout过程中,通过遍历测量组件大小和边界的时间过长。所以布局性能优化,可以从减少节点数或者优化布局测算时间方面来考虑。原创 2024-11-07 09:48:34 · 78 阅读 · 0 评论 -
Stage模型开发指导
Ability类型的Module: 用于实现应用的功能和特性。每一个Ability类型的Module编译后,会生成一个以.hap为后缀的文件,我们称其为HAP(Harmony Ability Package)包。HAP包可以独立安装和运行,是应用安装的基本单位,一个应用中可以包含一个或多个HAP包,具体包含如下两种类型。entry类型feature类型Library类型的Module: 用于实现代码和资源的共享。原创 2024-11-06 11:21:06 · 460 阅读 · 0 评论 -
自定义组件 与 @Component
Component:@Component装饰器仅能装饰struct关键字声明的数据结构。struct被@Component装饰后具备组件化的能力,需要实现build方法描述UI,一个struct只能被一个@Component装饰。@Component可以接受一个可选的bool类型参数。freezeWhenInactive,组件冻结选项,是否开启组件冻结,可选项。struct:自定义组件基于struct实现,struct + 自定义组件名 + {…}的组合构成自定义组件,不能有继承关系。原创 2024-11-06 11:20:37 · 769 阅读 · 0 评论 -
鸿蒙ArkTS语言学习(五):不常见语法总结
在ArkTS中,定义变量时在类型后面加上“?”表示该变量可以是空值(null或undefined)。这与TypeScript中的类型定义相似,是一种空值合并操作符。它用于声明一个变量,这个变量的类型可以是特定的类型,或者是null。这样的定义通常用于那些可能不被初始化或者可能在某些情况下被赋予null值的变量。// 或者= null;在这个例子中,myVar 可以被赋予一个字符串值,或者被赋予null。原创 2024-10-29 09:14:59 · 179 阅读 · 0 评论 -
数据懒加载:LazyForEach
LazyForEach从提供的数据源中按需迭代数据,并在每次迭代过程中创建相应的组件。当在滚动容器中使用了LazyForEach,框架会根据滚动容器可视区域按需创建组件,当组件滑出可视区域外时,框架会进行组件销毁回收以降低内存占用。原创 2024-10-29 09:14:28 · 93 阅读 · 0 评论 -
鸿蒙插件(1)网络请求:鸿蒙axios(@ohos/axios)
使用 OpenSSL 从服务器获取证书并提取消息摘要。原创 2024-10-28 08:48:20 · 479 阅读 · 0 评论 -
状态管理(4)——@Link装饰器:父子双向同步
子组件中被@Link装饰的变量与其父组件中对应的数据源建立双向数据绑定。@Link装饰的变量与其父组件中的数据源共享相同的值。原创 2024-10-28 08:47:35 · 191 阅读 · 0 评论 -
状态管理(2)——@State组件内状态
State装饰的变量拥有其所属组件的状态,可以作为其子组件单向和双向同步的数据源。当其数值改变时,会引起相关组件的渲染刷新。@State装饰的变量,或称为状态变量,一旦变量拥有了状态属性,就可以触发其直接绑定UI组件的刷新。当状态改变时,UI会发生对应的渲染改变。在状态变量相关装饰器中,@State是最基础的,使变量拥有状态属性的装饰器,它也是大部分状态变量的数据源。@State装饰的变量,与声明式范式中的其他被装饰变量一样,是私有的,只能从组件内部访问,在声明时必须指定其类型和本地初始化。原创 2024-10-09 09:17:52 · 190 阅读 · 0 评论 -
状态管理(3)——@Prop父子单向同步
Prop变量允许在本地修改,但修改后的变化不会同步回父组件。当数据源更改时,@Prop装饰的变量都会更新,并且会覆盖本地所有更改。因此,数值的同步是父组件到子组件(所属组件),子组件数值的变化不会同步到父组件。原创 2024-10-09 09:17:23 · 112 阅读 · 0 评论 -
状态管理(1)——ArkTS状态管理概述
如果希望构建一个动态的、有交互的界面,就需要引入“状态”的概念。在声明式UI编程框架中,UI是程序状态的运行结果,用户构建了一个UI模型,其中应用的运行时的状态是参数。当参数改变时,UI作为返回结果,也将进行对应的改变。这些运行时的,在ArkUI中统称为状态管理机制。原创 2024-10-08 15:39:50 · 493 阅读 · 0 评论 -
鸿蒙界面开发——组件(10):CalendarPicker&DatePicker&TextPicker(实现三级下拉列表)&TimePicker
日历选择器组件,提供下拉日历弹窗,可以让用户选择日期。原创 2024-10-08 15:39:23 · 706 阅读 · 0 评论 -
鸿蒙界面开发(七):媒体查询
为什么媒体查询在构建布局这一章呢?原创 2024-09-26 16:57:17 · 248 阅读 · 0 评论 -
鸿蒙界面开发(九):列表布局 (List)
/ ...原创 2024-09-26 16:56:45 · 1701 阅读 · 0 评论 -
鸿蒙界面开发——组件(9):进度条Progress & 滑动条Slider
其中,value用于设置初始进度值,total用于设置进度总长度,type用于设置Progress样式。说明头尾两端圆弧处的进度展示效果与ProgressType.Eclipse样式相同;中段处的进度展示效果为矩形状长条,与ProgressType.Linear线性样式相似;组件高度大于宽度的时候自适应垂直显示。拓展。原创 2024-09-25 10:06:53 · 1189 阅读 · 1 评论 -
鸿蒙界面开发——组件(10):单选框Radio&复选框checkbox & 下拉框select & 多条件筛选Filter
/ xxx.ets@Entry@Component@Builder//定义自定义结构样式build() {Column() {//设置选中样式类型.width(80)})原创 2024-09-25 10:06:07 · 1614 阅读 · 0 评论 -
鸿蒙界面开发——组件(7):组件导航 & 页面路由&Navigation路由的详细实现
here。定义页面跳转配置项。使用资源文件进行定义,通过资源管理@ohos.resourceManager在运行时对资源文件解析。在ets文件中配置路由加载配置项,一般包括路由页面名称(即pushPath等接口中页面的别名),文件所在模块名称(hsp/har的模块名),加载页面在模块内的路径(相对src目录的路径)。原创 2024-09-10 10:58:38 · 1852 阅读 · 0 评论 -
鸿蒙界面开发——组件(8):图形绘制 & 画布
绘制组件的父组件,父组件中会描述所有绘制组件均支持的通用属性。1、绘制组件使用Shape作为父组件,实现类似SVG的效果。2、绘制组件单独使用,用于在页面上绘制指定的图形。子组件包含Rect、Path、Circle、Ellipse、Polyline、Polygon、Image、Text、Column、Row、Shape子组件。原创 2024-09-10 10:57:24 · 913 阅读 · 0 评论 -
鸿蒙界面开发——组件(6):属性字符串(StyledString)文本输入
MutableStyledString继承于StyledString,以下统一简称StyledString。是功能强大的标记对象,可用于字符或段落级别设置文本样式。通过将StyledString附加到文本组件, 可以通过多种方式更改文本,包括修改字号、添加字体颜色、使文本可点击以及自定义方式绘制文本等。方便灵活应用文本样式的对象,可通过(Text组件的控制器)中的方法与Text组件绑定,原创 2024-09-06 09:45:52 · 1736 阅读 · 0 评论 -
鸿蒙界面开发——组件(5):菜单Menu & 绑定菜单
不支持作为普通组件单独使用。Menu 以垂直列表形式显示的菜单。包含MenuItem、MenuItemGroup子组件。布局过程中,期望每个菜单项的宽度一致。若子组件设置了宽度,则以尺寸计算规则为准。不设置宽度的情况:菜单组件会对子组件MenuItem、MenuItemGroup设置默认2栅格的宽度,若菜单项内容区比2栅格宽,则会自适应撑开。设置宽度的情况:菜单组件会对子组件MenuItem、MenuItemGroup设置减去padding后的固定宽度。原创 2024-09-05 16:22:39 · 1230 阅读 · 0 评论 -
鸿蒙界面开发——组件(3):视频组件video
string | Resource 否 视频的数据源,支持本地视频和网络视频。Resource格式可以跨包/跨模块访问资源文件,常用于访问本地视频。string格式可用于加载网络视频和本地视频,常用于加载网络视频。说明:视频支持的格式是:mp4、mkv、TS。元服务API: 从API version 11开始,该接口支持在元服务中使用。number | string | PlaybackSpeed8+ 否视频播放倍速。原创 2024-09-04 11:57:37 · 1829 阅读 · 0 评论 -
鸿蒙界面开发——组件(4):图标小符号 (SymbolGlyph/SymbolSpan) & 气泡提示Popup
开发者可以使用构建器CustomPopupOptions创建自定义气泡,@Builder中可以放自定义的内容。除此之外,还可以通过popupColor等参数控制气泡样式。// popup构造器定义弹框内容build() {Column() {})builder: this.popupBuilder, // 气泡的内容*******************************placement:Placement.Bottom, // 气泡的弹出位置。原创 2024-09-04 11:56:56 · 1213 阅读 · 0 评论 -
鸿蒙界面开发——通用属性(1)width&height&margin&padding等尺寸设置
设置组件自身的宽度,缺省时使用元素自身内容需要的宽度。在TextInput组件中,width设置auto表示自适应文本宽度。在AlphabetIndexer组件中,width设置auto表示自适应宽度最大索引项的宽度。在Row、Column、RelativeContainer组件中,width、height设置auto表示自适应子组件。原创 2024-09-03 16:01:14 · 884 阅读 · 0 评论 -
鸿蒙界面开发——组件(2):文本显示 (Text/Span) &文本输入 (TextInput/TextArea) &显示图片 (Image) & 自定义弹窗 (CustomDialog)
使用@CustomDialog装饰器装饰自定义弹窗。@CustomDialog装饰器用于装饰自定义弹框,此装饰器内进行自定义内容(也就是弹框内容)。})build() {Column() {Text('我是内容')创建构造器,与装饰器呼应相连。@Entry@Component//创建构造器,与装饰器呼应相连。})点击与onClick事件绑定的组件使弹窗弹出。@Entry@Component//创建构造器,与装饰器呼应相连。原创 2024-09-02 08:24:49 · 1969 阅读 · 0 评论 -
鸿蒙界面开发(12):选项卡布局(Tabs)
对于底部导航栏,一般作为应用主页面功能区分,为了更好的用户体验,会组合文字以及对应语义图标表示页签内容,这种情况下,需要自定义导航页签的样式。设置自定义导航栏需要使用tabBar的参数,以其支持的的方式传入自定义的函数组件样式。例如这里声明tabBuilder的自定义函数组件,传入参数包括页签文字title,对应位置index,以及选中状态和未选中状态的图片资源。通过当前活跃的currentIndex和页签对应的targetIndex匹配与否,决定UI显示的样式。//参数) {//结构。原创 2024-09-02 08:24:31 · 1006 阅读 · 0 评论 -
鸿蒙界面开发(六):栅格布局
GridRow为栅格容器组件,需与栅格子组件GridCol在栅格布局场景中联合使用。原创 2024-08-31 11:18:38 · 1023 阅读 · 0 评论 -
鸿蒙界面开发(五):相对布局
相对布局的容器,支持容器内部的子元素设置相对位置关系,适用于界面复杂场景的情况,对多个子组件进行对齐和排列。子元素,基于锚点做相对位置布局。锚点:通过锚点设置当前元素基于哪个元素确定位置。对齐方式:通过对齐方式,设置当前元素是基于锚点的上中下对齐,还是基于锚点的左中右对齐。原创 2024-08-31 11:18:11 · 662 阅读 · 0 评论 -
鸿蒙界面开发——组件(1):按钮Button&切换按钮Toggle
/ xxx.ets@Entry@Component@Builder//定义自定义结构样式build() {Column() {//设置选中样式类型.width(80)})通过selectedColor属性设置Toggle打开选中后的背景颜色。通过switchPointColor属性设置Switch类型的圆形滑块颜色,仅对type为ToggleType.Switch生效。原创 2024-08-29 11:27:29 · 1343 阅读 · 0 评论 -
鸿蒙界面开发(11):滚动容器(Scroll)&ScrollBar滚动条组件
当子组件的布局尺寸超过Scroll时,内容可以滚动。原创 2024-08-28 17:08:02 · 580 阅读 · 0 评论 -
鸿蒙ArkTS语言学习(五):扩展(函数)@Extend&@Styles&@Builder
除了组件、样式、事件外,还可以封装结构。结构的复用。用于封装相似的结构。可以全局也可以局部。//全局自定义构建函数定义的语法:使用方法:如果不涉及组件状态变化,建议使用全局的自定义构建方法。//局部定义的语法:使用方法:@Builder通过按引用传递的方式传入参数,才会触发动态渲染UI,并且参数只能是一个。@Builder如果传入的参数是两个或两个以上,不会触发动态渲染UI。@Builder传入的参数中同时包含按值传递和按引用传递两种方式,不会触发动态渲染UI。原创 2024-08-28 10:27:46 · 904 阅读 · 0 评论 -
鸿蒙界面开发(十):轮播 (Swiper)图布局&宽高比例apsectRatio
Swiper支持通过customContentTransition设置自定义切换动画,可以在回调中对视窗内所有页面逐帧设置透明度、缩放比例、位移、渲染层级等属性实现自定义切换动画。// 同组页面完全滑出视窗外时,重置属性值} else {// 同组页面未滑出视窗外时,对同组中左右两个页面,逐帧根据position修改属性值} else {})原创 2024-08-27 15:53:45 · 1365 阅读 · 0 评论 -
鸿蒙界面开发(八):Grid网格布局&Badge角标组件
在目标组件的外层包裹一层Badge角标组件支持位置:右上,左,右也可以使用绝对定位实现更灵活的角标位置。原创 2024-08-27 14:27:26 · 2159 阅读 · 0 评论