HarmonyOS ArkTS 的新手练手样例:Rating 星级评分交互
开头这一篇只讲一个主角Rating。做一个课程评分控件点击星星后显示评分结果。 对新手来说学习控件最有效的方法不是把官方属性一次背完而是先把一个完整页面跑起来然后围绕这个页面改尺寸、改状态、改事件。下面的代码就是配套截图 App 中已经编译通过的完整页面。本篇目标看懂 Rating 的基础用法。能复制完整页面到 ArkTS 工程中运行。知道关键属性和事件分别控制什么。能基于同一个组件改出几个小样例。对应 App 页面配套 App 中本篇对应页面文件是entry/src/main/ets/pages/RatingScorePage.ets运行 App 后从首页点击 Rating 入口即可进入本页截图。完整页面代码import{router}fromkit.ArkUI;EntryComponentstruct RatingScorePage{Statescore:number4;build(){Column({space:18}){Row(){Button().width(44).height(36).onClick((){router.back();})Text(Rating).fontSize(22).fontWeight(FontWeight.Bold).layoutWeight(1).textAlign(TextAlign.Center)Blank().width(44)}.width(100%)Column({space:18}){Text(课程评分).fontSize(30).fontWeight(FontWeight.Bold).fontColor(#126A5E)Rating({rating:this.score,indicator:false}).stars(5).stepSize(1).onChange((value:number){this.scorevalue;})Text(你给了${this.score}星).fontSize(18).fontColor(#1F2933)}.width(100%).padding(28).borderRadius(8).backgroundColor(#FFFFFF).alignItems(HorizontalAlign.Center)}.width(100%).height(100%).padding(20).backgroundColor(#F7F2E8)}}核心属性和事件讲解属性/事件作用本篇用法rating当前评分绑定this.scoreindicator是否只读false表示允许点击评分.stars(5)星星总数常见 5 星评分.stepSize(1)每次变化步长每次增减 1 星.onChange()评分变化事件保存新评分代码结构拆开看1. 顶部返回栏每个截图页都保留一个简单顶部栏左边是返回按钮中间是当前组件名称右边用 Blank() 占位。这样做的好处是所有截图页面结构一致后期整理文章配图时不会乱。Row(){Button()Text(Rating)Blank()}2. 主体卡片主体区域才是本篇组件的练习区。截图 Demo 里统一使用浅色背景和白色卡片是为了让控件更清楚地被看到。真实项目里你可以把这些颜色替换成自己的设计规范。3. 状态和事件如果页面里有 State它就是驱动界面变化的数据。事件里修改状态界面就会跟着刷新。这个规则在 Search、TextArea、Progress、Rating、Radio、Select、LoadingProgress 这些页面里都能看到。再做几个小样例样例 1只读评分Rating({rating:4,indicator:true}).stars(5)样例 2半星评分Rating({rating:this.score,indicator:false}).stepSize(0.5)样例 3评分文案Text(this.score4?很满意:还可以继续改进)新手常见问题只复制了组件没有复制 State。如果组件依赖状态页面会报错或无法交互。只改了显示文本没有改事件里的状态变量导致看起来“点了没反应”。截图页没有固定宽高或留白模拟器尺寸一变画面就挤在一起。本篇小结Rating 的学习重点是先把“能运行的完整页面”看懂再去拆属性和事件。你可以直接使用本篇完整代码截图也可以从“再做几个小样例”里挑一个继续改。附录项目设置与构建问题记录一、项目设置本篇配套一个独立 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。

相关新闻

Linux系统个人总结

Linux系统个人总结

一、Linux目录结构Linux的目录结构遵循FHS(文件系统层次结构标准),核心特点是一切从根(/)开始,采用树状倒挂结构。如图1所示。、图 1系统启动必看(别乱动)/boot:存放内核…

2026/8/1 2:05:34 阅读更多 →
Java DelayQueue实战:从订单超时到延时任务调度

Java DelayQueue实战:从订单超时到延时任务调度

1. 项目概述&#xff1a;为什么说DelayQueue“真香”&#xff1f;最近在重构一个老项目的订单超时关闭功能&#xff0c;之前用的是定时任务轮询数据库&#xff0c;每次看到那个SELECT * FROM orders WHERE status 待支付 AND create_time < ?的查询&#xff0c;再配上每分…

2026/8/1 2:04:34 阅读更多 →
基于GEE的BAP算法实现遥感影像像素级融合

基于GEE的BAP算法实现遥感影像像素级融合

1. 项目背景与BAP算法核心价值在遥感影像处理领域&#xff0c;Landsat系列卫星数据因其长达40余年的连续观测记录&#xff0c;成为地表变化监测的重要数据源。然而云层覆盖、传感器故障等因素导致的影像缺失问题&#xff0c;一直是困扰研究人员的痛点。以黄河流域为例&#xff…

2026/8/1 2:04:34 阅读更多 →

最新新闻

LangSmith Polly:实现LLM应用本地化可观测性的关键技术解析

LangSmith Polly:实现LLM应用本地化可观测性的关键技术解析

1. 从LangSmith的“私有化”到Polly的“无处不在”&#xff1a;一次关键的技术范式转移如果你在过去一年里深度参与过LLM应用开发&#xff0c;那么LangSmith这个名字对你来说一定不陌生。它几乎是LangChain生态中事实上的“黄金标准”调试与监控平台。然而&#xff0c;一个长期…

2026/8/1 4:45:34 阅读更多 →
HarmonyOS ArkTS API 24+ 实战:补齐异常闭环测试与运行截图

HarmonyOS ArkTS API 24+ 实战:补齐异常闭环测试与运行截图

前言&#xff1a;有按钮不等于流程已经验证 M4 异常闭环包含登记、调机、复核、模板确认和关闭多个阶段。页面可以渲染出按钮&#xff0c;Repository 也可以写出状态&#xff0c;但如果没有明确的操作步骤、预期结果和运行证据&#xff0c;文章很难回答一个实际问题&#xff1a…

2026/8/1 4:45:34 阅读更多 →
3分钟完成Windows系统瘦身:Win11Debloat让电脑重获新生的终极指南

3分钟完成Windows系统瘦身:Win11Debloat让电脑重获新生的终极指南

3分钟完成Windows系统瘦身&#xff1a;Win11Debloat让电脑重获新生的终极指南 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declu…

2026/8/1 4:45:34 阅读更多 →
告别低效写作:AI论文工具测评与最新推荐

告别低效写作:AI论文工具测评与最新推荐

生成的论文质量、低AI味、格式正确、学术适配是衡量AI论文工具的核心指标。经过实测&#xff0c;千笔AI、ThouPen、豆包、DeepSeek、Grammarly 在各项测试中表现突出。从价格区间到语言类型&#xff0c;从文科到理工&#xff0c;这些工具全面覆盖各类学术写作需求。 一、综合实…

2026/8/1 4:45:34 阅读更多 →
数字孪生与边缘计算的结合是当前工业智能化(尤其是上位机、智慧工厂、具身智能)落地的关键技术路径

数字孪生与边缘计算的结合是当前工业智能化(尤其是上位机、智慧工厂、具身智能)落地的关键技术路径

数字孪生与边缘计算的结合是当前工业智能化(尤其是上位机、智慧工厂、具身智能)落地的关键技术路径。它通过边缘侧实时计算 + 云端全局优化,解决传统数字孪生“延时高、带宽占用大、实时性不足”的问题,实现真正意义上的低延时、高可靠、闭环可控的虚实映射。 1. 为什么需…

2026/8/1 4:45:34 阅读更多 →
GPT-SoVITS v4语音合成架构深度解析:从48K高清音质到金属音消除的技术实现

GPT-SoVITS v4语音合成架构深度解析:从48K高清音质到金属音消除的技术实现

GPT-SoVITS v4语音合成架构深度解析&#xff1a;从48K高清音质到金属音消除的技术实现 【免费下载链接】GPT-SoVITS 1 min voice data can also be used to train a good TTS model! (few shot voice cloning) 项目地址: https://gitcode.com/GitHub_Trending/gp/GPT-SoVITS …

2026/8/1 4:44:34 阅读更多 →

日新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速&#xff1a;macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南&#xff1a;3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗&#xff1f;ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片&#xff1a;为英语学习 App 打造桌面级学习助手适用平台&#xff1a;HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0&#xff08;API 26 Beta&#xff09;新增了 AgentCard 智能体卡片能力&#xff0c;这是继 HMAF&#xff08;鸿蒙智能体框架&#x…

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

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档&#xff0c;可以直接使用&#xff01;系统支持图片、视频、摄像头等多种方式检测裂缝&#xff0c;功能强大实用。 1数据集6000张 8各类别

2026/7/31 1:03:03 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像&#xff01; pubg绝地求生目标检测数据集 1分类&#xff1a;e_body&#xff0c;14905个标签&#xff0c;txt格式 共计14244张图&#xff0c;99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别&#xff1a; allies enemy tag图片总量&#xff1a;7247张训练集&#xff1a;5139张验证集&#xff1a;1425张测试集&#xff1a;683张标注状态&#xff1a;全部已标注&#xff0c;即拿即用数据格式&#xff1a;支持YOLO格式及其他格式&#…

2026/7/31 4:19:39 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速&#xff1a;macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南&#xff1a;3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗&#xff1f;ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片&#xff1a;为英语学习 App 打造桌面级学习助手适用平台&#xff1a;HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0&#xff08;API 26 Beta&#xff09;新增了 AgentCard 智能体卡片能力&#xff0c;这是继 HMAF&#xff08;鸿蒙智能体框架&#x…

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