鸿蒙:使用Rating组件实现五角星打分评价

1、前言

我们经常会在app上打分,在鸿蒙中可以使用Rating组件实现这一功能。

2、参考文档

https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-basic-components-ratinghttps://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-basic-components-rating

3、核心代码

复制代码
        Rating({ rating: this.fiveRating, indicator: false })
            .stars(5) // 设置评分星星的总数为5颗
            .stepSize(0.5) // 设置评分的步长为0.5,即每次可增减0.5分
            .onChange((value: number) => { // 评分变化时的回调事件
              this.fiveRating = value;
            })

4、运行效果

5、完整代码

Index.ets

复制代码
@Entry
@ComponentV2
struct Index {
  // rating 用于存储当前评分值,初始化为3.5
  @Local fiveRating: number = 0;
  @Local tenRating: number = 0;

  // build方法是组件的UI构建入口,用于定义组件的布局和内容
  build() {
    // 外层Column布局:占满整个屏幕空间,作为根容器
    Column() {
      // 内层Column布局:设置固定宽高,用于容纳评分组件和文本显示
      Column({ space: 20 }) {

        Column({ space: 10 }) {
          Image($rawfile("pingguo.png"))
            .width("50%")
          Text("苹果:满分五分,你给------" + this.fiveRating + "分")
            .fontSize(20)

          Rating({ rating: this.fiveRating, indicator: false })
            .stars(5) // 设置评分星星的总数为5颗
            .stepSize(0.5) // 设置评分的步长为0.5,即每次可增减0.5分
            .onChange((value: number) => { // 评分变化时的回调事件
              this.fiveRating = value;
            })
        }

        Column({ space: 10 }) {
          Image($rawfile("huawei.jpg"))
            .width("50%")
          Text("华为:满分十分,你给------" + this.tenRating + "分")
            .fontSize(20)
          Rating({ rating: this.tenRating, indicator: false })
            .stars(10) // 设置评分星星的总数为5颗
            .stepSize(0.5) // 设置评分的步长为0.5,即每次可增减0.5分
            .onChange((value: number) => { // 评分变化时的回调事件
              this.tenRating = value;
            })
        }

      }

    }
    .width('100%') // 外层Column宽度占满父容器(屏幕)
    .height('100%') // 外层Column高度占满父容器(屏幕)
  }
}

觉得有帮助可以点赞或收藏

相关推荐
一只大侠的侠21 分钟前
【Harmonyos】Flutter开源鸿蒙跨平台训练营 Day 2 鸿蒙跨平台开发环境搭建与工程实践
flutter·开源·harmonyos
小镇敲码人3 小时前
华为CANN框架中HCCL仓库的全面解析:分布式通信的引擎
分布式·华为
王码码20353 小时前
Flutter for OpenHarmony 实战之基础组件:第三十一篇 Chip 系列组件 — 灵活的标签化交互
android·flutter·交互·harmonyos
坚果派·白晓明4 小时前
在鸿蒙设备上快速验证由lycium工具快速交叉编译的C/C++三方库
c语言·c++·harmonyos·鸿蒙·编程语言·openharmony·三方库
小镇敲码人4 小时前
深入剖析华为CANN框架下的Ops-CV仓库:从入门到实战指南
c++·python·华为·cann
lbb 小魔仙5 小时前
【HarmonyOS实战】OpenHarmony + RN:自定义 useFormik 表单处理
react native·harmonyos
果粒蹬i5 小时前
【HarmonyOS】DAY7:鸿蒙跨平台 Tab 开发问题与列表操作难点深度复盘
华为·harmonyos
王码码20355 小时前
Flutter for OpenHarmony 实战之基础组件:第二十七篇 BottomSheet — 动态底部弹窗与底部栏菜单
android·flutter·harmonyos
小镇敲码人5 小时前
探索CANN框架中TBE仓库:张量加速引擎的优化之道
c++·华为·acl·cann·ops-nn
ITUnicorn6 小时前
【HarmonyOS6】ArkTS 自定义组件封装实战:动画水杯组件
华为·harmonyos·arkts·鸿蒙·harmonyos6