HarmonyOS/OpenHarmony原生应用-ArkTS万能卡片组件Rating

鸿蒙时代
发布于 2023-10-17 15:05
浏览
0收藏

提供在给定范围内选择评分的组件。该组件从API Version 7开始支持。无子组件。
一、接口
Rating(options?: { rating: number, indicator?: boolean })
从API version 9开始,该接口支持在ArkTS卡片中使用。
二、参数
HarmonyOS/OpenHarmony原生应用-ArkTS万能卡片组件Rating-鸿蒙开发者社区
三、属性
HarmonyOS/OpenHarmony原生应用-ArkTS万能卡片组件Rating-鸿蒙开发者社区HarmonyOS/OpenHarmony原生应用-ArkTS万能卡片组件Rating-鸿蒙开发者社区
说明:rating宽高为[width, height]时,单个图片的绘制区域为[width / stars, height]。为了指定绘制区域为方形,建议自定义宽高时采取[height * stars, height], width = height * stars的方式。
四、事件
HarmonyOS/OpenHarmony原生应用-ArkTS万能卡片组件Rating-鸿蒙开发者社区
五、示例
示例1

// xxx.ets
@Entry
@Component
struct RatingExample {
  @State rating: number = 3.5

  build() {
    Column() {
      Column() {
        Rating({ rating: this.rating, indicator: false })
          .stars(5)
          .stepSize(0.5)
          .margin({ top: 24 })
          .onChange((value: number) => {
            this.rating = value
          })
        Text('current score is ' + this.rating)
          .fontSize(16)
          .fontColor('rgba(24,36,49,0.60)')
          .margin({ top: 16 })
      }.width(360).height(113).backgroundColor('#FFFFFF').margin({ top: 68 })

      Row() {
        Image('common/testImage.jpg')
          .width(40)
          .height(40)
          .borderRadius(20)
          .margin({ left: 24 })
        Column() {
          Text('Yue')
            .fontSize(16)
            .fontColor('#182431')
            .fontWeight(500)
          Row() {
            Rating({ rating: 3.5, indicator: false }).margin({ top: 1, right: 8 })
            Text('2021/06/02')
              .fontSize(10)
              .fontColor('#182431')
          }
        }.margin({ left: 12 }).alignItems(HorizontalAlign.Start)

        Text('1st Floor')
          .fontSize(10)
          .fontColor('#182431')
          .position({ x: 295, y: 8 })
      }.width(360).height(56).backgroundColor('#FFFFFF').margin({ top: 64 })
    }.width('100%').height('100%').backgroundColor('#F1F3F5')
  }
}

HarmonyOS/OpenHarmony原生应用-ArkTS万能卡片组件Rating-鸿蒙开发者社区
示例2

// xxx.ets
@Entry
@Component
struct RatingExample {
  @State rating: number = 3.5

  build() {
    Column() {
      Rating({ rating: this.rating, indicator: false })
        .stars(5)
        .stepSize(0.5)
        .starStyle({
          backgroundUri: '/common/imag1.png', // common目录与pages同级
          foregroundUri: '/common/imag2.png',
          secondaryUri: '/common/imag3.png'
        })
        .margin({ top: 24 })
        .onChange((value: number) => {
          this.rating = value
        })
      Text('current score is ' + this.rating)
        .fontSize(16)
        .fontColor('rgba(24,36,49,0.60)')
        .margin({ top: 16 })
    }.width('100%').height('100%').backgroundColor('#F1F3F5')
  }
}

HarmonyOS/OpenHarmony原生应用-ArkTS万能卡片组件Rating-鸿蒙开发者社区
六、场景
适合卡片上直接操作提供在给定范围内选择评分的场景。

本文根据HarmonyOS官方文档整理。

标签
收藏
回复
举报
回复
    相关推荐