- 博客(2053)
- 收藏
- 关注

原创 OpenHarmony开发案例【大合集】
为帮助开发者快速熟悉OpenHarmony的能力以及相关的应用开发流程,我们提供了一系列的基于趣味场景的应用示例,即Codelabs,开发者可以根据我们的文档一步步的学习和完成简单项目的开发。
2024-05-12 21:11:37
1469
原创 鸿蒙5.0开发常见问题【ArkUI有没有在组件刷新后的回调事件?】
1.如果是组件的属性刷新,可以将属性存储为状态变量,并使用watch监听状态变量的变化。2.如果是组件大小变化,可以通过onSizeChange(),监听到组件区域的变化。当组件状态变量改变时,会刷新组件。
2025-06-13 20:40:19
68
原创 鸿蒙5.0开发常见问题【是否有处理“9图“(又称“draw9patch“、“.9图“、“点9图“等)的平替方案?】
Image组件提供与点九图相同功能的API设置,通过设置resizable属性来配置ResizableOptions,即图像拉伸时的大小调整选项。ResizableOptions的参数slice包含top、left、bottom和right四个属性,分别表示图片在上下左右四个方向拉伸时保持不变的距离。
2025-06-13 19:30:41
305
原创 鸿蒙5.0开发常见问题【如何进行页面横竖屏切换?】
设置方法:setPreferredOrientation(orientation: Orientation, callback: AsyncCallback<void>): void。Orientation取值为AUTO_ROTATION,表示传感器自动旋转模式。
2025-06-13 17:03:35
350
原创 鸿蒙5.0开发常见问题【如何实现Tabs组件的TabBar居左对齐?】
系统提供的Tabs组件的TabBar仅支持居中对齐。可以通过自定义方式实现:使用Scroll和Row组件实现一个页签,在onclick事件中通过修改索引值和Tabs组件的索引联动,实现切换效果,同时将Tabs的barHeight置为0。
2025-06-13 16:01:03
91
原创 鸿蒙5.0开发常见问题【如何获取状态栏和导航栏高度?】
获取系统避让区域(如状态栏/导航栏)的方法总结:通过getWindowAvoidArea获取系统规避区域,其中topRect.height即为状态栏高度(单位px)。示例代码展示了在ArkUI框架中如何调用该API,开发者可将其用于界面布局适配。 (注:摘要未包含文末宣传内容,仅聚焦技术要点)
2025-06-13 14:52:37
289
原创 鸿蒙5.0开发常见问题【如何解决window创建的模态窗口默认焦点不在界面上,导致不响应返回事件的问题?】
窗口返回手势响应问题解决方案 问题:创建的模态窗口默认不响应返回手势事件。 解决方法:使用setDialogBackGestureEnabled接口开启模态窗口的返回手势响应功能,设置为true后窗口可接收onBackPress回调。示例代码展示了在UIAbility中创建对话框窗口并启用返回手势响应的完整流程,包括窗口创建、内容设置和手势配置的错误处理。
2025-06-13 13:34:54
379
原创 鸿蒙5.0开发常见问题【如何获取窗口的宽度?】
摘要:本文介绍了如何使用ArkUI框架的getWindowProperties接口获取窗口属性。通过windowRect可以访问窗口的宽度和高度属性。示例代码展示了在点击事件中调用该方法,并通过日志输出窗口尺寸。该方法需要在@Entry组件中使用,通过getLastWindow获取窗口实例后再调用getWindowProperties()来获取窗口属性信息。
2025-06-12 21:41:36
74
原创 鸿蒙5.0开发常见问题【如何设置沉浸式窗口?】
在EntryAbility的onWindowStageCreate方法中通过windowStage获取window,然后分别调用setWindowLayoutFullScreen和setWindowSystemBarEnable方法。
2025-06-12 20:37:58
266
原创 鸿蒙5.0开发常见问题【如何监听窗口大小的变化?】
摘要: 监听窗口大小变化可通过window.on('windowSizeChange')实现,但仅在窗口尺寸实际改变时触发。若窗口旋转180度但尺寸未变,需改用display.on('change')监听并通过接口获取尺寸。代码示例展示了监听设置和异常处理方式。(93字)
2025-06-12 19:30:24
212
原创 鸿蒙5.0开发常见问题【调用window实例的setWindowSystemBarProperties接口设置窗口状态栏和导航栏的高亮属性时不生效?】
调用window实例的setWindowSystemBarProperties接口时,设置isStatusBarLightIcon和isNavigationBarLightIcon属性无效。
2025-06-12 17:01:36
163
原创 鸿蒙5.0开发常见问题【如何锁定设备竖屏,使得窗口不随屏幕旋转?】
使用setPreferredOrientation方法锁定竖屏,设置orientation为window.Orientation.PORTRAIT。
2025-06-12 15:45:21
386
原创 鸿蒙5.0开发常见问题【应用如何设置隐藏顶部的状态栏?】
在UIAbility的onWindowStageCreate生命周期中,设置setWindowSystemBarEnable接口。
2025-06-12 14:43:49
105
原创 鸿蒙5.0开发常见问题【如何判断JS对象中是否存在某个值?】
Object.values(对象名).indexOf(想要判断的值),若返回-1表示不包含对应值;返回值不等于-1则表示包含。
2025-06-12 13:41:34
76
原创 鸿蒙5.0开发常见问题【如何获取窗口的宽高信息?】
摘要: 在鸿蒙开发中,获取窗口宽高需注意时机选择。通过window.getWindowProperties().windowRect可获取窗口尺寸,但需避免在aboutToAppear阶段调用,因此时窗口可能未完全可见,导致数据错误。推荐在onPageShow生命周期阶段获取,确保窗口可见后获得准确宽高。代码示例展示了如何异步获取窗口对象并提取宽高信息,同时强调异常处理的重要性。鸿蒙开发需系统学习ArkTS、Stage模型等核心技术,文档与学习资源可帮助开发者高效入门。随着鸿蒙生态扩张,掌握相关技术将成为开
2025-06-11 21:26:54
366
原创 鸿蒙5.0开发常见问题【触摸事件的TouchEvent调用stopPropagation时无法阻止事件分发?】
问题摘要 当Button嵌套时,外层Button调用stopPropagation()无法阻止内层Button的onTouch事件触发。原因是stopPropagation仅阻止事件冒泡(从内向外传播),而外层事件拦截需改用.hitTestBehavior(HitTestMode.Block)来完全阻断内层触摸响应。
2025-06-11 20:47:28
111
原创 鸿蒙5.0开发常见问题【组件被隐藏后 onVisibleAreaChange 事件触发了两次?】
绑定ratios为[0,1]时组件消失会触发两次onVisibleAreaChange,建议限制ratios参数为一个值来避免重复触发。
2025-06-11 20:04:19
308
原创 鸿蒙5.0开发常见问题【自定义组件间如何实现从底部滑入滑出的效果?】
页面底部默认显示自定义组件A。点击组件A,A消失,自定义组件B从底部出现。点击组件B,B消失,A从底部出现。如何实现这个效果?
2025-06-11 15:55:06
117
原创 鸿蒙5.0开发常见问题【如何实现上下切换的页面间跳转动画?】
使用pageTransition函数实现页面转场效果。通过PageTransitionEnter 和PageTransitionExit指定页面进入和退出的动画效果。将slide属性设置为SlideEffect.Bottom,页面入场时从下方滑入,出场时滑出到下方,从而实现上下切换效果。
2025-06-11 14:45:09
278
原创 鸿蒙5.0开发常见问题【当父组件绑定了onTouch,其子组件Button绑定了onClick,如何做到点击Button只响应Button的onClick?】
可以在Button组件中绑定onTouch,并在onTouch中使用stopPropagation()阻止事件冒泡到父组件。
2025-06-11 13:36:51
333
原创 鸿蒙5.0开发常见问题【如何获取router.back传递的参数?】
在 onPageShow 回调方法中使用 router.getParams获取返回值。
2025-06-10 21:53:41
69
原创 鸿蒙5.0开发常见问题【Stack布局设置Alignment.BottomStart没有生效?】
在build()中使用Stack作为容器,设置alignContent为Alignment.Bottom,同时设置align为Alignment.Center。但alignContent为Alignment.Bottom未生效。
2025-06-10 20:47:36
336
原创 鸿蒙5.0开发常见问题【如何实现类似keyframes的效果?】
摘要:示例代码展示了如何使用HarmonyOS的animateTo方法实现连续动画效果。通过嵌套animateTo调用并在onFinish回调中启动新动画,可以实现分阶段的动画序列。代码中,按钮点击触发初始动画将透明度变为0.5,完成后在回调中启动第二个动画将透明度进一步变为0.2。这种技术适用于需要多个动画按顺序执行的场景,展示了一种事件驱动的动画编排方式。(149字)
2025-06-10 19:31:30
75
原创 鸿蒙5.0开发常见问题【Text组件设置maxLines后如何确定文本是否被隐藏?】
可以通过measureTextSize来判断Text文本的高度是否超出maxLines设置的高度进行判断。
2025-06-10 17:07:41
314
原创 鸿蒙5.0开发常见问题【如何实现事件透传?】
在Stack中,如果有两个兄弟组件,组件A被组件B覆盖,用户点击组件B时,是否可以将点击事件透传给组件A,触发组件A的onClick回调,而不触发组件B的onClick回调。
2025-06-10 15:47:43
292
原创 鸿蒙5.0开发常见问题【Image组件如何读入沙箱内的图片?】
《Image组件使用沙箱路径的方法》 摘要:Image组件无法直接使用应用沙箱路径,需转换为沙箱URI。实现步骤:1)通过fileUri模块获取文件的沙箱路径;2)调用fileUri.getUriFromPath方法将路径转换为URI。转换后的URI传入Image组件即可正常显示沙箱图片。
2025-06-10 14:47:03
67
原创 鸿蒙5.0开发常见问题【Image或者ImageSpan传入一个string类型的路径时无法加载图片?】
摘要:当前规范仅支持常量字符串,需将字符串提取并用$r()包裹,如localImageName = $r('app.media.icon')。这种格式转换是必要的处理方式。
2025-06-10 13:34:42
96
原创 鸿蒙5.0开发常见问题【如何设置子组件宽度使其不超过父组件的大小?】
本文介绍如何使用ArkTS的calc计算属性动态设置组件宽度。通过State变量控制文本内容和宽度变化,当点击文本时切换状态,使用calc表达式计算剩余宽度(100%减去左侧文本宽度)。示例展示了条件渲染和响应式布局的实现方法,其中左侧文本宽度在60vp和80vp间切换,右侧文本宽度自动调整以填充剩余空间。代码使用Row布局包含两个Text组件,通过onClick事件触发状态切换,演示了ArkUI的响应式设计能力。
2025-06-09 21:50:57
98
原创 鸿蒙5.0开发常见问题【如何解决Web页面输入框拉起键盘后,页面头部被截断的问题?】
通过监听软键盘的弹出和收起,可以解决此问题:软键盘弹出时,将子窗口高度设置为屏幕高度减去软键盘高度;软键盘收起时,子窗口高度设置为屏幕高度。
2025-06-09 20:32:28
376
原创 鸿蒙5.0开发常见问题【如何获取图片的宽高?】
通过Image组件的[onComplete]事件,图片数据加载成功和解码成功时均触发该回调,返回成功加载的图片尺寸。
2025-06-09 19:31:09
78
原创 鸿蒙5.0开发常见问题【控制中心的下拉背景实时模糊是如何实现的?】
实时模糊,就是通过状态变量实时改变模糊值。实现模糊可以通过组件的通用属性backdropBlur来设置组件的模糊效果。
2025-06-09 17:20:38
100
原创 鸿蒙5.0开发常见问题【ArkUI组件的字符串中如何实现字符串变量拼接?】
ArkUI组件的字符串中如何实现字符串变量拼接,结合限定词目录的资源文件,例如语言切换时候,字符串内容自动跟随切换。例如Text()组件如何实现字符串变量的拼接功能?
2025-06-09 16:17:37
342
原创 鸿蒙5.0开发常见问题【List组件如何设置两端的渐变效果?】
List组件本身不支持设置两端渐变,但是可以结合LinearGradient对象实现效果。
2025-06-08 21:41:54
94
原创 鸿蒙5.0开发常见问题【如何实现两层Tab嵌套滑动的效果?】
在一级Tabs组件下嵌套二级Tabs时,如果二级Tabs的第一个页面左滑或最后一个页面右滑不能切换一级Tabs标签
2025-06-08 19:01:43
135
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人