文档管理中心
我的
推荐
最热
最新
其他
已解决
未解决
团队已经用 ArkTS/ArkUI 开发了一个 HarmonyOS 应用,现在业务需要覆盖 Android 和 iOS 用户。重写一套 Kotlin/Swift 代码成本太高,听说 ArkUI-X 可以复用大部分 ArkUI 代码,但不清楚从环境搭建到实际出包需要经过哪些步骤,哪些代码能复用、哪些需要各平台单独处理。

评论1

浏览 13

发布于34分钟前
SoundPool.play(soundID: number, params: PlayParameters, callback: AsyncCallback<number>): void回调中获取的streamID不是底层 AudioRenderer 的 streamID 吗?SoundPool 有办法获取底层 AudioRenderer 的 streamID 吗?

评论1

浏览 15

发布于40分钟前
项目里有一个音频波形编辑组件,用 Canvas + CanvasRenderingContext2D 做自定义绘制。遇到的情况:播放过程中每帧调一次 invalidate() 刷新波形指针位置,大部分时候正常,但偶尔指针会卡在某一刻不动,持续几百毫秒后突然跳回当前位置波形数据点超过 2000 个后,缩放和滚动操作明显掉帧,DevEco Profiler 里看到 Canvas::DrawFrame单帧耗时飙到 80ms 以上用 Path 画波形曲线,画完后没 clearRect 直接 invalidate,画面出现重影

评论2

浏览 15

发布于52分钟前
Mate 80 Pro Max机型(设备型号代码:SGT-AL10),请问什么时候可以申请加入本轮招募白名单及开放呢?

评论312

浏览 15.2k

发布于2026-06-21 10:44
把卡片、列表项抽成公共组件后经常遇到:组件内部直接改了从父组件传进来的数据,父组件的状态被意外篡改,排查困难。组件里写死了标题下方的内容,换个页面想塞不同的子视图就得再复制一个组件。组件放在 common 模块,特性层 import 不到,或引入后打包报模块找不到。怎么封装一个"数据只进不出、交互可回传、内容可定制、还能跨模块引用"的公共组件。

评论3

浏览 14

发布于56分钟前
通过 USB 串口连接外部传感器模块,调用相关 API 读取数据时,收到的字节流全是乱码,偶尔还出现数据帧不完整的情况,这个是编码的问题吗?应该如何设置呢?

评论4

浏览 13

发布于59分钟前
跑在Android就正常,到鸿蒙就提示MissingPluginException,也没给出个具体的错误位置,盲目排查很费时费力,有什么好的办法排查并解决呢?

评论4

浏览 29

发布于1小时前
仙银
|
推荐答复
MissingPluginException 的根因就是:Flutter 侧通过 MethodChannel/EventChannel 调用了原生方法,但鸿蒙侧没有注册对应的插件实现。Android 能跑是因为插件自带了 Android 平台的注册代码,而鸿蒙(ohos)平台的插件适配是个独立的工作——大部分社区插件还没有做 ohos 适配,所以调用直接找不到 handler 就抛异常了。排查思路先确认你用的是适配了 ohos 的 Flutter SDK,不是官方 Flutter SDK。环境搭建参考 CPF-Flutter 团队维护的适配版:flutter_flutter拿到具体的异常信息,在调用插件前加一个全局捕获:FlutterError.onError = (FlutterErrorDetails details) { debugPrint('FlutterError: ${details.exceptionAsString()}'); debugPrint('Stack: ${details.stack.toString()}'); }; WidgetsFlutterBinding.ensureInitialized(); // 在 runApp 前注册确认是哪个插件报错。MissingPluginException 的 message 里通常带有 channel 名称,格式类似 No implementation found for method xxx on channel plugins.flutter.io/xxx。根据 channel 名称就能定位到具体插件。去检查该插件是否已适配 ohos。可以到插件的 pubspec.yaml 或 GitHub 仓库看有没有 ohos 目录或 ohos 分支。已适配的插件列表可以在 CPF-Flutter flutter_samples 的 ohos 目录下参考。解决方案如果插件还没适配 ohos,有三条路:方案一:找社区已有的 ohos 适配版本部分热门插件已有社区适配,搜索 插件名 + ohos 看有没有 fork。比如 CPF-Flutter 组织下有不少适配版本。方案二:自己写 ohos 平台实现Flutter 的平台通道机制在 ohos 上同样支持(MethodChannel/EventChannel/BasicMessageChannel),只是原生侧要换成 ArkTS 实现。参考 flutter_samples 里的 channel_demo,里面有 ohos 平台的 MethodChannel 注册和调用示例。关键步骤:在 ohos 侧的 EntryAbility 里注册插件,实现 MethodCallHandler:import { MethodChannel, FlutterPlugin, MethodCall, MethodResult } from '@ohos/flutter_ohos'; class MyPlugin implements FlutterPlugin { private channel?: MethodChannel; getUniqueClassName(): string { return 'MyPlugin'; } onAttachedToEngine(binding: FlutterPluginBinding): void { this.channel = new MethodChannel(binding.getBinaryMessenger(), 'plugins.flutter.io/my_plugin'); this.channel.setMethodCallHandler({ onMethodCall: (call: MethodCall, result: MethodResult) => { if (call.method === 'getPlatformVersion') { result.success('HarmonyOS 5.0'); } else { result.notImplemented(); } } }); } onDetachedFromEngine(binding: FlutterPluginBinding): void { this.channel?.setMethodCallHandler(null); this.channel = undefined; } }然后在 EntryAbility 的 onWindowStageCreate 中注册:this.flutterEngine?.getPlugins().add(new MyPlugin());方案三:Dart 侧临时兜底如果暂时来不及写原生实现,可以在 Dart 侧做一个平台判断,跳过未适配的调用:import 'package:flutter/foundation.dart'; bool isOhos() { return defaultTargetPlatform == TargetPlatform.ohos; } // 调用前判断 if (!isOhos()) { // 调用原生插件 } else { // 走降级逻辑 }建议优先走方案一或方案二,方案三只是临时过渡。相关资源:Flutter ohos 适配 SDK:atomgit.com/CPF-Flutter/flutter_flutterFlutter ohos 示例项目(含 channel_demo):atomgit.com/CPF-Flutter/flutter_samplesFlutter 官方平台通道文档:docs.flutter.cn/platform-integration/platform-channels
点赞
回复于1小时前
Nova12、13、14Mate60、70这个月有希望吗 都好久了 不会等到10月吧

评论115

浏览 5.2k

发布于2026-08-12 23:09
我看别人顶部操作栏以及其它操作栏的都不一样,为啥我这个还是以前的,这个怎么设置的?是可以自定义吗?

评论5

浏览 23

发布于1小时前
系统升级前相机功能正常,升级之后,页面黑屏,重新安装应用后,未弹出申请相机权限的dialog

评论4

浏览 18

发布于1小时前
在鸿蒙应用中使用TextField时,输入文字后软键盘弹出,页面底部布局被遮挡或错乱,想请教如何调整控件约束或页面布局,避免输入时界面异常。

评论5

浏览 22

发布于1小时前
签名都是用的正式,并且登录账号也是项目的归属人,为啥这里一点东西都没有,之前版本都能正常使用,现在改成这样,也找不到可以配置设置的东西。

评论1

浏览 14

发布于1小时前
在鸿蒙开发中使用List控件时,滚动过程中子控件内容刷新出现卡顿,影响用户体验。希望了解应该从哪几个方向排查,比如渲染、数据、布局或异步处理等方面。

评论4

浏览 12

发布于1小时前
在鸿蒙应用开发中,网络请求返回前需要展示骨架屏,失败时切换到空状态,成功后再渲染列表控件。目前遇到的问题是:骨架屏与空状态的切换时机不好控制,容易出现闪烁或状态错乱;同时网络请求回调与页面控件加载顺序不一致,导致骨架屏无法正确隐藏或空状态无法正确展示。想请教大家如何联调网络请求、骨架屏和空状态,使加载流程更稳定?

评论4

浏览 17

发布于1小时前
如何实现组件边缘的折射效果 背景纯透明 仅边缘折射效果 并且可以根据背景的变化实时进行预览的效果 这种相果 也就是苹果的液态玻璃效果 如何在鸿蒙当中使用arkui去实现液态玻璃的效果 能否完全复刻苹果的液态玻璃效果

评论51

浏览 789

发布于2026-09-05 02:57
云云
|
采纳答复
点赞5
回复于2026-09-10 06:57
在鸿蒙应用开发中,自定义表单包含多个输入控件时,如何实现输入值之间的联动校验与状态同步?例如一个输入框的值改变后,如何自动触发其他输入框的校验逻辑并更新UI状态?目前遇到的问题是状态同步不及时,导致数据不一致,求优化方案。

评论4

浏览 13

发布于1小时前
分享至应用,文档专用术语叫啥,我想分享图片到我的应用,不知道怎么配置

评论7

浏览 31

发布于2小时前
Z
|
采纳答复
文档术语叫目标应用(Target App),接入能力叫 Share Kit 目标应用接入。你的应用想出现在"分享至"列表里,需要在 module.json5 的 skills 里声明接收分享的能力。两种接入方式应用内处理 — 用 UIAbility 接收分享内容,用户选你的应用后直接进你的页面分享详情页 — 用 ShareExtensionAbility 接收,用户选你的应用后先展示系统分享详情页,处理完可返回分享面板分享图片的话,两种都行,看你需不需要让用户返回分享面板继续操作。不需要的话 UIAbility 更简单。配置方法不管是哪种方式,module.json5 里的关键配置都一样:// 方式一:UIAbility 接收(在 abilities 里配置) "abilities": [ { "name": "ShareReceiverAbility", "srcEntry": "./ets/abilities/ShareReceiverAbility.ets", "exported": true, "skills": [ { "actions": ["ohos.want.action.sendData"], "uris": [ { "scheme": "file", "utd": "general.image", "maxFileSupported": 10 } ] } ] } ] // 方式二:ShareExtensionAbility 接收(在 extensionAbilities 里配置) "extensionAbilities": [ { "name": "ShareDetailAbility", "srcEntry": "./ets/abilities/ShareDetailAbility.ets", "type": "share", "exported": true, "skills": [ { "actions": ["ohos.want.action.sendData"], "uris": [ { "scheme": "file", "utd": "general.image", "maxFileSupported": 10 } ] } ] } ]几个要点:actions 必须是 ohos.want.action.sendData,这是系统识别分享目标的关键utd 用 general.image 就能覆盖所有图片类型,不用挨个写 general.png、general.jpeg。UTD 类型和归属关系参考 标准化数据类型maxFileSupported 是一次最多接收几个文件,0 代表不支持文件分享,写个合理数字就行scheme 字段是预留字段,写 "file" 就行,实际不生效接收分享数据的代码import { AbilityConstant, UIAbility, Want } from '@kit.AbilityKit'; import { window } from '@kit.ArkUI'; import { systemShare } from '@kit.ShareKit'; import { BusinessError } from '@kit.BasicServicesKit'; export default class ShareReceiverAbility extends UIAbility { onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { systemShare.getSharedData(want) .then((data: systemShare.SharedData) => { let records: Array<systemShare.SharedRecord> = data.getRecords(); records.forEach((record: systemShare.SharedRecord) => { // record.uri 就是分享文件的路径,图片可以直接拿去显示 }); }) .catch((error: BusinessError) => { console.error(`Failed to getSharedData. Code: ${error.code}, message: ${error.message}`); this.context.terminateSelf(); }); } onWindowStageCreate(windowStage: window.WindowStage): void { windowStage.loadContent('pages/Index'); } }如果用 ShareExtensionAbility,把 onCreate 换成 onSessionCreate,加个 session 参数,最后 session.loadContent('pages/Index') 加载页面就行。相关文档:应用内处理分享内容、分享详情页处理分享内容
点赞
回复于1小时前
登录页完成登录后,把登录状态写入 AppStorage,然后调用 router.back() 返回首页。首页的 aboutToAppear 中读取登录状态并显示,但正常登录后返回,首页仍然显示未登录,且必须是要杀掉应用重开才正常?大家有碰到过这种小问题吗?

评论7

浏览 22

发布于2小时前
设备/环境:SGT-AL10 · HarmonyOS 7.0.0.105 · API 26 · DevEco Studio(hms SDK,UIDesignKit 声明 6.1.0(23)/6.1.1(24));应用 metadata 已配置 ohos.arkui.UIMaterial.state = "enable";targetAPIVersion ≥ 26;entry 模块;系统设置"沉浸光感" = 强(最高档)。问题现象:底部导航(悬浮胶囊 + 独立圆形)由普通 ArkUI 组件(Stack/Row)通过 systemMaterial(new uiMaterial.ImmersiveMaterial(...)) 接入沉浸式系统材质。HarmonyOS 7.0.0.105 SP6 系统更新之前:胶囊呈现真实玻璃质感(折射/光晕/通透)。SP6 更新之后:同一代码、同一设备、未改任何配置——胶囊变成纯透明的卡片(背后内容直接透出,无任何材质滤镜/折射/高光;看起来就像完全没有材质)。已按官方文档验证:按"沉浸光感"官方指南示例 1 的写法复刻(Column/Stack + .backgroundColor(Color.Transparent) 写在 .systemMaterial(...) 之前 + borderRadius + 顺序正确),同样失效。按"通用组件封装"实践(ImmersiveSurface:独立组件 + BuilderParam 内容 + 透明背景 + borderRadius + clip(true) + systemMaterial 最后),同样失效。运行时探针证据(关键):deviceInfo.apiAvailable('26.0.0') = true;uiMaterial.getMaterialInfo().state = 1(≠ DISABLE)→ 应用侧门全过;new uiMaterial.ImmersiveMaterial({ style: REGULAR, materialColor: '#80FF0000', interactive: true, lightEffect: {color: undefined} }) 传入 systemMaterial 后,50% 红色 materialColor 在画面上零差异(胶囊未变粉)——证明材质滤镜完全未被渲染(不是"样式选错/背景遮挡"类问题)。对照:同一设备上,系统组件的表面(如音乐条、系统设置预览)沉浸光感正常;HDS HdsTabs 官方悬浮页签(barFloatingStyle.systemMaterialEffect,materialType/materialLevel 模式)玻璃材质正常——唯独第三方应用里自定义 ArkUI 节点的 systemMaterial 不渲染。求助点:自定义 ArkUI 组件(Stack/Row/Column 等普通容器)的 systemMaterial 在 7.0.0.105(SP6) 是否被限制/降级?是否已有已知问题或需要新的启用条件?应用侧如何判定设备的沉浸光感算力档位(低/中/高)与全局材质等级?官方指南示例 5 提到 uiMaterial.getGlobalMaterialLevel() / uiMaterial.isImmersiveMaterialSupported(),但当前 SDK 的 ArkTS 声明中不存在这两个 API(能力清单 ArkUI.json 中有声明,since 26.0.0)——这是声明回退还是需要更高 SDK 补丁?如果自定义组件的材质确实无法恢复,官方推荐的自定义底部导航正确载体是什么(HDS 已确认可用,但存在自定义页签内容/动画限制)?代码片段(完整:普通 ArkUI 组件 + 沉浸光感)以下 = 生产组件中"普通 ArkUI 组件 + 材质接入"的完整相关代码(约 120 行)。 说明:生产组件在此之上还包含滑动指示器层与手势(PanGesture 拖拽切页、按压反馈、 动画图标),与本问题无关,故省略;如需完整工程可再提供。import { uiMaterial } from '@kit.ArkUI'; import { deviceInfo } from '@kit.BasicServicesKit'; interface MainDestination { index: number; outlineSymbol: Resource; fillSymbol: Resource; label: string; } @ComponentV2 export struct BottomNav { @Param selectedIndex: number = 0 @Event onSelect: (index: number) => void = () => {} @Local materialAvailable: boolean = false private readonly mainDestinations: MainDestination[] = [ { index: 0, outlineSymbol: $r('sys.symbol.message'), fillSymbol: $r('sys.symbol.message_fill'), label: 'Chat' }, { index: 1, outlineSymbol: $r('sys.symbol.person_crop_circle_fill_1'), fillSymbol: $r('sys.symbol.person_crop_circle_fill_1'), label: 'Contacts' }, { index: 2, outlineSymbol: $r('sys.symbol.gearshape'), fillSymbol: $r('sys.symbol.gearshape_fill'), label: 'Settings' } ]; private immersiveMaterial: uiMaterial.ImmersiveMaterial | undefined = undefined; aboutToAppear(): void { try { this.materialAvailable = deviceInfo.apiAvailable('26.0.0'); if (this.materialAvailable) { const info = uiMaterial.getMaterialInfo(); this.materialAvailable = info.state !== uiMaterial.MaterialState.DISABLE; } this.immersiveMaterial = this.materialAvailable ? new uiMaterial.ImmersiveMaterial({ interactive: true, lightEffect: { color: undefined } // 注:曾显式设置 style(ULTRA_THIN/THIN/REGULAR…)逐档测试,均无视觉差异 }) : undefined; } catch (err) { this.materialAvailable = false; this.immersiveMaterial = undefined; } } private surfaceFallbackColor(): ResourceColor { // 材质可用时透明(不遮挡材质);不可用时回退半透明浅底 return this.materialAvailable ? Color.Transparent : $r('sys.color.comp_background_tertiary'); } @Builder DestinationButton(d: MainDestination) { Column({ space: 2 }) { SymbolGlyph(this.selectedIndex === d.index ? d.fillSymbol : d.outlineSymbol) .fontSize(22) .fontColor([this.selectedIndex === d.index ? $r('sys.color.icon_emphasize') : $r('sys.color.icon_primary')]) Text(d.label) .fontSize(10) .fontColor(this.selectedIndex === d.index ? $r('sys.color.icon_emphasize') : $r('sys.color.icon_primary')) } .justifyContent(FlexAlign.Center) .layoutWeight(1) .height('100%') .backgroundColor(Color.Transparent) .onClick(() => { this.onSelect(d.index); }) .accessibilityGroup(true) .accessibilityText(d.label) .accessibilitySelected(this.selectedIndex === d.index) } build() { // 普通 ArkUI 组件:透明全宽 Row 宿主,仅定位两个"普通容器表面" Row({ space: 12 }) { // 表面 1:主胶囊(共享材质实例) Stack() { Row() { ForEach(this.mainDestinations, (d: MainDestination) => { this.DestinationButton(d) }, (d: MainDestination) => `${d.index}`) } .width('100%') .height('100%') } .layoutWeight(1) .height(56) // 普通容器 + 普通属性 .borderRadius(28) .clip(true) .shadow({ radius: 24, color: 'rgba(0,0,0,0.16)', offsetX: 0, offsetY: 6 }) .backgroundColor(this.surfaceFallbackColor()) // ← 写在 systemMaterial 之前(官方顺序) .systemMaterial(this.immersiveMaterial!) // ← 通用属性接入沉浸式系统材质 // 表面 2:独立圆形(同一材质实例) Stack() { Stack() { Text('A').fontSize(22).fontWeight(FontWeight.Medium).fontColor(Color.White) } .alignContent(Alignment.Center) .width(44) .height(44) .borderRadius(22) .backgroundColor('#0A59F7') } .alignContent(Alignment.Center) .width(56) .height(56) .borderRadius(28) .clip(true) .shadow({ radius: 24, color: 'rgba(0,0,0,0.16)', offsetX: 0, offsetY: 6 }) .backgroundColor(this.surfaceFallbackColor()) .systemMaterial(this.immersiveMaterial!) .onClick(() => { this.onSelect(3); }) .accessibilityGroup(true) .accessibilityText('Profile') } .width('100%') .padding({ left: 20, right: 20 }) .margin({ bottom: this.systemInsetVp() + 8 }) // 底部安全区留白 .backgroundColor(Color.Transparent) .hitTestBehavior(HitTestMode.Transparent) } }结构说明(避免"组件不普通"的误判):全程仅使用 Stack/Row/Column/Text/SymbolGlyph + 通用属性(width/height/borderRadius/clip/shadow/backgroundColor/onClick/accessibility);唯一与系统的耦合点 = 表面的 .backgroundColor(Color.Transparent) 与 .systemMaterial(...);两个表面共享一个 uiMaterial.ImmersiveMaterial 实例(aboutToAppear 中创建)。总结:就是我在修复一个问题终于修复成功的时候然后突然发现主界面底部胶囊退化,让我非常摸不着头脑,我修改别的东西为什么会影响到底部胶囊。想来想去,唯一怀疑的线索也只有昨天下午进行的一次系统更新。

评论34

浏览 1k

发布于2026-08-30 02:06
半本前瞻
|
技术支持
点赞1
回复于2026-08-31 01:24
鸿蒙开发中用ForEach渲染千条商品数据导致首页白屏,滚动掉帧,改用LazyForEach后仍偶发卡顿。从数据源实现,组件复用和状态管理三个角度分别应检查哪些关键点?

评论6

浏览 22

发布于2小时前
开发一个包含多层级嵌套的鸿蒙页面,需要实现“用户登录态全局透传”“列表项点击高亮互斥”以及“购物车数量父子同步更新,如何选型@State、@Link、@Provide/@Consume等装饰。若选型错误可能导致哪些后果?

评论5

浏览 16

发布于2小时前
前端页面很多鸿蒙系统没办法打开,换浏览器也是一样,前几天都是正常,最近很多人反馈打不开

评论1

浏览 26

发布于2小时前
用 HdsTabs 做底部 Tab,默认看起来像有"包边"。示例代码如下所示:HdsTabs({ index: this.currentTabIndex, controller: this.tabsController }) { TabContent() { } .tabBar(this.TabTextBuilder(this.tabTitles[0], 0)) // …… } .barFloatingStyle({ barWidth: { smallWidth: 280, mediumWidth: 300, largeWidth: 320 }, barBottomMargin: 8, gradientMask: { maskColor: Color.Transparent }, lightColor: Color.Transparent, systemMaterialEffect: { materialType: hdsMaterial.MaterialType.IMMERSIVE, materialLevel: hdsMaterial.MaterialLevel.EXQUISITE } }) .barPosition(BarPosition.End) .barOverlap(true) .barBackgroundColor(Color.Transparent) .barBackgroundBlurStyle(BlurStyle.NONE) .divider({ mode: DividerMode.NONE })最终的效果是:期望的效果是,无边框线的:

评论42

浏览 322

发布于2026-09-25 09:17
云上
|
采纳答复
这个问题的根因楼上老师们已经定位了:那圈"包边"是 systemMaterialEffect 沉浸光感材质(IMMERSIVE)自带的边缘高光,和毛玻璃是捆绑效果,三档 materialLevel 只是强度差异。我补充一个还没有人提到的中间路线——用低层 API 自己叠材质,把"系统毛玻璃质感"和"边缘光感"真正解耦:思路:背景模糊用 windowBlur / backgroundEffect,而不是 barBackgroundBlurStylebarBackgroundBlurStyle 的 COMPONENT_THIN 档观感确实比系统材质弱一截(楼主实测也证实了)。想要更接近 EXQUISITE 的磨砂质感,可以试 backgroundEffect,它提供可调参数,能逼近系统材质的观感:.barBackgroundColor(Color.Transparent) .backgroundEffect({ radius: 40, // 模糊半径,调到接近 EXQUISITE 的雾面感 saturation: 1.2, // 饱和度略提,模拟系统材质的通透感 brightness: 1.05, // 轻微提亮 colorOptions: [{ color: '#80FFFFFF', cornerRadius: 28 }] // 白色薄纱 + 圆角 })这个路径出来的效果介于 COMPONENT_THIN 和系统材质之间,且不会带边缘描边,多数设计稿能对上。如果必须要系统材质:换 MaterialType 而不是降档补一个实测细节:MaterialType.IMMERSIVE(沉浸光感)是"毛玻璃+边缘光"捆绑的来源,但 hdsMaterial 里还有其他 materialType(如标准材质),不同 type 的边缘表现不一样。可以试把 materialType 换掉、materialLevel 保持 EXQUISITE,部分 type 下毛玻璃质感保留而边缘高光明显减弱,这比无脑降到 SMOOTH 更接近"只要毛玻璃"的目标。具体各 type 的视觉差异建议在真机上对照 Demo 各跑一遍(模拟器的材质渲染和真机偏差较大)。最后说下取舍楼主自己实测的结论(两者不可兼得)在"只用 systemMaterialEffect 预设"的前提下成立;但走 backgroundEffect 自绘这条路,毛玻璃 + 无边框是可以同时拿到的,只是放弃了系统材质的动态光影(点光源、按压流光)。如果产品要求的是"静态毛玻璃无包边",自绘完全够用;如果要求系统级动态光影,那只能接受边缘光或等官方提供解耦参数,可以顺手在 DevEco Studio 的 Send Feedback 里提个需求。x
点赞1
回复于2026-09-30 07:46

我要提问题

月度答复贡献榜
用户头像
橙动创意
回帖884
粉丝56
关注
用户头像
心系天下
回帖698
粉丝16
关注
用户头像
蓝瘦的蜕变
回帖376
粉丝120
关注
用户头像
飞b6
回帖294
粉丝8
关注
用户头像
慢行
回帖242
粉丝22
关注
邀您回答
19弹幕通知
热门标签
1

HarmonyOS 5

2

HarmonyOS 6

3

DevEco Studio

4

UI

5

HarmonyOS

6

ArkUI (方舟UI框架)

7

HarmonyOS 7

8

App开发

9

Ability框架

了解社区公约,与您携手共创和谐专业的开发者社区。
在 App 中查看