HarmonyOS ArkTS 的新手练手样例:Image 资源图片展示卡片
开头这一篇只讲一个主角Image。展示资源目录中的图片做头像、图标、封面和说明插图。 对新手来说学习控件最有效的方法不是把官方属性一次背完而是先把一个完整页面跑起来然后围绕这个页面改尺寸、改状态、改事件。下面的代码就是配套截图 App 中已经编译通过的完整页面。本篇目标看懂 Image 的基础用法。能复制完整页面到 ArkTS 工程中运行。知道关键属性和事件分别控制什么。能基于同一个组件改出几个小样例。对应 App 页面配套 App 中本篇对应页面文件是entry/src/main/ets/pages/ImageResourcePage.ets运行 App 后从首页点击 Image 入口即可进入本页截图。完整页面代码import{router}fromkit.ArkUI;EntryComponentstruct ImageResourcePage{build(){Column({space:18}){Row(){Button().width(44).height(36).onClick((){router.back();})Text(Image).fontSize(22).fontWeight(FontWeight.Bold).layoutWeight(1).textAlign(TextAlign.Center)Blank().width(44)}.width(100%)Column({space:16}){Image($r(app.media.start_icon)).width(120).height(120).borderRadius(24)Text(资源图片展示).fontSize(30).fontWeight(FontWeight.Bold).fontColor(#126A5E)Text(Image 可以加载 resources 中的图片用来做头像、图标和插图。).fontSize(15).fontColor(#667085).textAlign(TextAlign.Center)}.width(100%).padding(28).borderRadius(8).backgroundColor(#FFFFFF)}.width(100%).height(100%).padding(20).backgroundColor(#F7F2E8)}}核心属性和事件讲解属性/写法作用本篇用法Image($r(app.media.start_icon))从资源目录加载图片读取resources/base/media/start_icon.svg.width(120)/.height(120)固定显示尺寸让截图中的图片大小稳定.borderRadius(24)设置圆角做成更像 App 图标的视觉效果.padding()控制图片周围留白让图片不贴边截图更干净代码结构拆开看1. 顶部返回栏每个截图页都保留一个简单顶部栏左边是返回按钮中间是当前组件名称右边用 Blank() 占位。这样做的好处是所有截图页面结构一致后期整理文章配图时不会乱。Row(){Button()Text(Image)Blank()}2. 主体卡片主体区域才是本篇组件的练习区。截图 Demo 里统一使用浅色背景和白色卡片是为了让控件更清楚地被看到。真实项目里你可以把这些颜色替换成自己的设计规范。3. 状态和事件如果页面里有 State它就是驱动界面变化的数据。事件里修改状态界面就会跟着刷新。这个规则在 Search、TextArea、Progress、Rating、Radio、Select、LoadingProgress 这些页面里都能看到。再做几个小样例样例 1头像圆图Image($r(app.media.start_icon)).width(80).height(80).borderRadius(40)样例 2封面图Image($r(app.media.start_icon)).width(100%).height(180).objectFit(ImageFit.Contain)样例 3图文卡片Row({space:12}){Image($r(app.media.start_icon)).width(56).height(56)Text(ArkTS 控件示例).fontSize(18)}新手常见问题只复制了组件没有复制 State。如果组件依赖状态页面会报错或无法交互。只改了显示文本没有改事件里的状态变量导致看起来“点了没反应”。截图页没有固定宽高或留白模拟器尺寸一变画面就挤在一起。本篇小结Image 的学习重点是先把“能运行的完整页面”看懂再去拆属性和事件。你可以直接使用本篇完整代码截图也可以从“再做几个小样例”里挑一个继续改。附录项目设置与构建问题记录一、项目设置本篇配套一个独立 ArkTS 示例 App用于运行页面和截图建议用 DevEco Studio 打开项目后运行entry模块。项目定位是截图练习 Demo不依赖后端服务也不需要额外权限。建议新建或检查工程时保持以下设置Project typeApplication。TemplateEmpty Ability。LanguageArkTS。ModelStage。DevicePhone可按需要兼容 Tablet、2in1。Runtime OSHarmonyOS。二、SDK 版本本文主题面向 HarmonyOS ArkTS API 24。本次示例工程根目录build-profile.json5使用如下配置{ compatibleSdkVersion: 6.1.1(24), targetSdkVersion: 6.1.1(24), runtimeOS: HarmonyOS }如果本机 DevEco Studio SDK Manager 中安装的版本不同请按本机实际 API 24 SDK 调整compatibleSdkVersion和targetSdkVersion。三、项目目录说明核心目录如下HarmonyOS_ArkTS_API24_ControlsScreenshotApp/ ├── AppScope/ │ ├── app.json5 │ └── resources/ ├── entry/ │ ├── src/main/ets/entryability/EntryAbility.ets │ ├── src/main/ets/pages/ │ ├── src/main/resources/base/profile/main_pages.json │ ├── build-profile.json5 │ └── oh-package.json5 ├── build-profile.json5 ├── hvigorfile.ts └── oh-package.json5页面文件都在entry/src/main/ets/pages/路由注册文件在entry/src/main/resources/base/profile/main_pages.json五、创建项目过程打开 DevEco Studio。点击 Create Project。选择 Application。模板选择 Empty Ability。开发语言选择 ArkTS。模型选择 Stage。设置项目名称例如ArkTSControlsDemo。选择保存路径建议路径只包含英文、数字、下划线或连字符。选择 API 24 对应 SDK。点击 Finish等待工程创建完成。打开entry/src/main/ets/pages/Index.ets。运行默认工程确认模拟器或真机能打开。再逐个添加本文中的页面代码并截图。六、本次编译安装遇到的问题与解决办法1. 中文路径导致 Hvigor 拒绝构建问题现象Invalid project path. Current path does not match: D:\私人资料\CSDN\HarmonyOS_ArkTS_API24_ControlsScreenshotApp原因Hvigor 对工程路径有限制路径只能包含英文字母、数字、连字符、下划线、英文句点、英文括号、空格或。处理办法把项目复制到 ASCII 路径后构建D:\\HarmonyOS_ArkTS_API24_ControlsScreenshotApp2.DEVECO_SDK_HOME环境变量无效问题现象Invalid value of DEVECO_SDK_HOME in the system environment path.处理办法在当前命令会话中临时指定 DevEco SDK 根目录$env:DEVECO_SDK_HOMED:\Program Files\Huawei\DevEco Studio Beta\sdk3.hvigor-config.json5缺少dependencies问题现象Schema validate failed ... missingProperty: dependencies处理办法补齐hvigor/hvigor-config.json5{ modelVersion: 5.0.0, dependencies: { } }4. 打包阶段找不到 Java问题现象spawn java ENOENT处理办法使用 DevEco Studio 自带 JBR并停止旧的 Hvigor daemon 后重新构建$env:JAVA_HOMED:\Program Files\Huawei\DevEco Studio Beta\jbr$env:PathD:\Program Files\Huawei\DevEco Studio Beta\jbr\bin;$env:Pathhvigorw--stop-daemon5. 构建成功但有弃用警告构建时出现过router.pushUrl、router.back、AlertDialog.show的弃用警告但不影响本次截图 Demo 编译和安装。正式项目建议后续按当前 API 推荐方式替换。七、本次安装启动记录构建命令hvigorw--mode module-p moduleentrydefault-p productdefault assembleHap安装命令hdc install entry-default-unsigned.hap启动命令hdc shell aastart-a EntryAbility-b com.csdn.arkts.controls.screenshot验证结果HAP 构建成功。模拟器目标127.0.0.1:5555。安装结果install bundle successfully。启动结果start ability successfully。

相关新闻

《P11247 [GESP202409 六级] 算法学习》

《P11247 [GESP202409 六级] 算法学习》

题目背景 对应的选择、判断题:试题 - GESP 202409 C 六级 - 洛谷有题 题目描述 小杨计划学习 m 种算法,为此他找了 n 道题目来帮助自己学习,每道题目最多学习一次。 小杨对于 m 种算法的初始掌握程度均为 0。第 i 道题目有对应的知识点 a…

2026/8/1 2:16:52阅读更多 →
CCS铁魄二号机二式深度评测:合金模型价值评估与收藏指南

CCS铁魄二号机二式深度评测:合金模型价值评估与收藏指南

1. 这篇文章真正要解决的问题如果你是一个模型爱好者,或者正在寻找一款能镇宅、有分量的收藏品,那么“开箱”这个词对你来说绝不陌生。但面对市面上琳琅满目、价格从几百到上万不等的模型产品,一个核心问题始终困扰着我们:这款模型…

2026/8/1 2:16:52阅读更多 →
Unity游戏UI开发实战:基于FGUI的背包系统设计与实现

Unity游戏UI开发实战:基于FGUI的背包系统设计与实现

1. 项目概述:为什么是FGUI?在Unity游戏开发圈子里,UI开发一直是个让人又爱又恨的活儿。爱的是,它是玩家与游戏世界最直接的交互窗口,成就感来得快;恨的是,原生UGUI虽然功能强大,但面…

2026/8/1 2:16:52阅读更多 →
Anthropic商业化转型:大模型成本压力与AI安全研究的未来

Anthropic商业化转型:大模型成本压力与AI安全研究的未来

1. 从“非营利”到“商业化”:Anthropic的十字路口最近AI圈里有个消息挺有意思,Anthropic这家公司,就是那个做出Claude的团队,据说要开始考虑赚钱了。这听起来好像没什么,一家公司想盈利不是天经地义吗?但如…

2026/8/1 3:35:19阅读更多 →
Linux连接跟踪(conntrack)原理、实践与性能调优指南

Linux连接跟踪(conntrack)原理、实践与性能调优指南

1. 项目概述:从“连接”到“状态”的认知跃迁在Linux网络世界里,我们常常把网络通信抽象为一个个数据包的发送与接收。防火墙规则里写-p tcp --dport 80 -j ACCEPT,意思就是“放行所有目标端口是80的TCP包”。这种基于单个数据包(…

2026/8/1 3:35:19阅读更多 →
从零构建语音识别应用:百度API实战指南与性能优化

从零构建语音识别应用:百度API实战指南与性能优化

1. 项目概述:从零到一,用百度API构建你的语音识别应用最近在做一个需要把音频转成文字的小工具,市面上方案不少,但综合考量了识别准确率、开发便捷度和成本后,我还是选择了百度的语音识别API。这玩意儿听起来高大上&am…

2026/8/1 3:35:19阅读更多 →
二叉树算法精讲:从基础遍历到DFS/BFS实战

二叉树算法精讲:从基础遍历到DFS/BFS实战

1. 二叉树基础概念与代码随想录训练营特色二叉树作为数据结构中最基础的树形结构之一,在算法面试和实际开发中都有着举足轻重的地位。每个节点最多有两个子节点的特性,使得它在搜索、排序等场景下展现出极高的效率。代码随想录训练营第71期Day13的二叉树…

2026/8/1 3:35:19阅读更多 →
永磁同步电机损耗建模与优化:从理论到PLECS仿真与台架测试

永磁同步电机损耗建模与优化:从理论到PLECS仿真与台架测试

1. 项目概述:从理论到实践的损耗之旅搞电机控制的朋友,尤其是做永磁同步电机(PMSM)的,肯定都绕不开一个词:损耗。无论是做FOC、DTC,还是玩各种高级观测器、预测控制,最终目标之一都是…

2026/8/1 3:35:19阅读更多 →
如何实现TikTok Shop同行数据截流自动化?独占IP与指纹隔离,告别批量封号

如何实现TikTok Shop同行数据截流自动化?独占IP与指纹隔离,告别批量封号

如何实现TikTok Shop同行数据截流自动化?独占IP与指纹隔离,告别批量封号 做店群的老板都知道,TikTok Shop的同行数据截流,是店群运营中最耗人力也最容易出错的环节。 同行截流是店群最核心的引流手段。别人花大价钱投流的爆款&a…

2026/8/1 3:33:19阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/31 20:44:05阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/31 17:41:43阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/31 20:44:05阅读更多 →
无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理 【免费下载链接】lossless-cut The swiss army knife of lossless video/audio editing 项目地址: https://gitcode.com/gh_mirrors/lo/lossless-cut 在数字媒体创作领域,视频编辑处理的质量损…

2026/8/1 0:00:10阅读更多 →
AI辅助本科论文写作:8大工具评测与高效使用指南

AI辅助本科论文写作:8大工具评测与高效使用指南

1. 本科生论文写作的AI辅助现状本科毕业论文是每个大学生必须跨越的一道坎。记得我当年写论文时,光是文献检索就花了整整两周时间,打印的参考文献堆满了半个书桌。如今AI技术的发展为学术写作带来了革命性变化,合理使用这些工具可以节省80%以…

2026/8/1 0:00:10阅读更多 →
如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手 【免费下载链接】ticket-purchase 大麦自动抢票,支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 还在为抢不到热门演唱会门票…

2026/8/1 0:00:10阅读更多 →
无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理 【免费下载链接】lossless-cut The swiss army knife of lossless video/audio editing 项目地址: https://gitcode.com/gh_mirrors/lo/lossless-cut 在数字媒体创作领域,视频编辑处理的质量损…

2026/8/1 0:00:10阅读更多 →
AI辅助本科论文写作:8大工具评测与高效使用指南

AI辅助本科论文写作:8大工具评测与高效使用指南

1. 本科生论文写作的AI辅助现状本科毕业论文是每个大学生必须跨越的一道坎。记得我当年写论文时,光是文献检索就花了整整两周时间,打印的参考文献堆满了半个书桌。如今AI技术的发展为学术写作带来了革命性变化,合理使用这些工具可以节省80%以…

2026/8/1 0:00:10阅读更多 →
如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手 【免费下载链接】ticket-purchase 大麦自动抢票,支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 还在为抢不到热门演唱会门票…

2026/8/1 0:00:10阅读更多 →