讨论广场
全部
讨论
问答
发布
问答 请教鸿蒙2.0开发所需要用到的API 2025-11-22 10:16:19 2025年想要开发鸿蒙2.0版本的手机app,请教大神们哪些版本的API可以兼容鸿蒙2.0系统?官网上已经没有API4-6的下载路径了,在线请教!急急急!!!
开发语言
k·怪咖先生 回答:开发鸿蒙2.0的APP,兼容的是API4-6,其中API6适配鸿蒙2.2.0版本,API5对应2.1.0版本,API4则匹配早期鸿蒙2.0版本。 至于API4 - 6的获取,新版DevEco Studio已经不支持下载了,你可以这样解决: 1. 装对应旧版DevEco Studio:去华为开发者官网的DevEco Studio归档页面下载3.1.1 Release这类旧版本IDE,旧版 2025-11-22 11:30:37
问答 请教一个router跳转与返回结果的问题 2025-11-21 23:23:09 我从列表页使用router.pushUrl跳转到详情页,并期望在详情页完成操作后返回一个结果给列表页。在列表页的onPageShow生命周期里尝试接收参数,但我发现有时能收到,有时收不到,非常不稳定。 有没有大神给分一下什么原因导致的
Devil枫 回答:鸿蒙路由跳转后列表页接收详情页返回参数不稳定,核心原因是 onPageShow 触发时机宽泛(页面切换、应用切回前台等均会触发),与参数传递时机不匹配,且可能存在页面栈管理不当、参数未及时清理等问题。 具体来说:一是 onPageShow 可能在参数未传递完成前执行,尤其系统资源紧张或有页面切换动画时;二是详情页若用 pushUrl 而非 back() 返回,会创建新列表页实例,原页面无法接收参数 2025-11-22 11:18:47
问答 Canvas绘制文字,真机上位置和预览器差很多,怎么对齐? 2025-11-21 21:41:31 Canvas绘制文字,真机上位置和预览器差很多,怎么对齐? 用Canvas画文字,预览器里文字居中显示,真机上偏上很多,调整y坐标也不管用
k·怪咖先生 回答:核心问题是 文字基线(baseline)不一致,预览器和真机的字体渲染基线计算有差异。 解决方法: 1. 用 TextPainter 先测量文字宽高和基线偏移,再计算绘制坐标,别直接写死y值; 2. 绘制时让文字的 centerY 对齐目标位置,比如 y = 目标Y - (textPainter.height / 2); 3. 禁用字体缩放(textPainter.textScaleFactor 2025-11-22 11:32:04
问答 已解决 申请位置权限直接返回拒绝,根本不弹授权框,有人遇到过吗? module.json5里已经加了ACCESS_FINE_LOCATION权限,代码里调用申请接口,直接返回grantedPermissions为空,没任何弹框 2025-11-21 21:32:57 申请位置权限直接返回拒绝,根本不弹授权框,有人遇到过吗? module.json5里已经加了ACCESS_FINE_LOCATION权限,代码里调用申请接口,直接返回import { requestPermissions为空,没有任何弹框
Eichhörnzen 回答:大概率是权限名称过时、权限状态残留、配置/代码调用不规范这几类原因,具体排查和解决方法如下: 1. 权限名称已更新,旧名称不生效:鸿蒙部分版本已将ohos.permission.ACCESS_FINE_LOCATION更新为ohos.permission.LOCATION(精准定位),继续用旧权限名会被系统静默拒绝。需在module.json5中替换为新权限名。 2. 历史权限状态残留 2025-11-21 21:47:19
问答 路由跳转报错:router.pushUrl后页面白屏 2025-11-21 21:20:45 跳转页面时传了个大对象,页面B白屏,控制台报"Failed to deserialize parameter",如果传小对象:params: { data: { id: 1 } } 就正常,是参数大小有限制吗?
Eichhörnzen 回答:#智解鸿蒙 首先告诉你,鸿蒙路由router的params确实有隐式大小限制(实测单参数建议不超过100KB,复杂对象含数组时建议不超过50条数据),超过后会序列化失败,导致页面白屏或参数丢失,这是系统底层序列化机制的限制,不是代码语法问题。 试试用“全局状态管理”传递大对象:适合同一应用内页面跳转,用AppStorage或自定义全局变量存储大对象,路由仅传“索引/ID”,页面B按需读取。 2025-11-21 21:50:15
问答 #智解鸿蒙 布局报错:Flex 布局里的组件突然消失 2025-11-21 17:06:23 下面的代码在预览器里正常,真机运行时Text('备注')直接消失了,去掉flexShrink(0)就显示,这是啥原因?
大雷神 回答: @Entry @Component struct Index { @State message: string = 'Hello World'; build() { Row(){ Text("标题很长很长很长很长").flexShrink(1) Text("备注").flexShrink(0)//不允许收缩.marginLeft(10) 2025-11-22 18:16:22
查看更多