【鸿蒙软件开发】ArkTS基础组件之Rating(评分组件)、RichText(富文本显示)

news2024/11/16 21:27:42

文章目录

  • 前言
  • 一、Rating组件
    • 1.1 子组件
    • 1.2 接口
      • 参数
    • 1.2 属性
    • 1.3 事件
    • 1.4 示例代码
      • 示例代码1
      • 示例代码2
  • 二、RichText富文本显示
    • 2.1 子组件
    • 2.2 接口
      • 参数
    • 2.3 事件
    • 2.4 属性
    • 2.5 富文本所支持的标签
    • 2.6 示例代码
  • 总结


前言

Rating组件:提供在给定范围内选择评分的组件。
RichText组件:富文本组件,解析并显示HTML格式文本。


一、Rating组件

提供在给定范围内选择评分的组件。

说明
该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

1.1 子组件

1.2 接口

Rating(options?: { rating: number, indicator?: boolean })

从API version 9开始,该接口支持在ArkTS卡片中使用。

参数

参数名:rating,参数类型:number,参数是否必填:是,参数作用:设置并接收评分值。默认值:0
取值范围: [0, stars],规定:小于0取0,大于stars取最大值stars。

参数名:indicator,参数类型:boolean,参数是否必填:否,参数作用:设置评分组件作为指示器使用,不可改变评分。
默认值:false, 可进行评分
说明:
indicator=true时,默认组件高度height=12.0vp,组件width=height * stars。
indicator=false时,默认组件高度height=28.0vp,组件width=height * stars。

1.2 属性

属性名称:stars,属性类型:number,属性作用:设置评分总数。默认值:5
从API version 9开始,该接口支持在ArkTS卡片中使用。
说明:设置为小于0的值时,按默认值显示。

属性名称:stepSize,属性类型:number,属性作用:操作评级的步长。
默认值:0.5
从API version 9开始,该接口支持在ArkTS卡片中使用。
说明:
设置为小于0的值时,按默认值显示。
取值范围为[0.1, stars]。

属性名称:starStyle
属性类型:

{
backgroundUri: string,
foregroundUri: string,
secondaryUri?: string
}

backgroundUri:未选中的星级的图片链接,可由用户自定义或使用系统默认图片。
foregroundUri:选中的星级的图片路径,可由用户自定义或使用系统默认图片。
secondaryUri:部分选中的星级的图片路径,可由用户自定义或使用系统默认图片。
从API version 9开始,该接口支持在ArkTS卡片中使用。
说明:
startStyle属性所支持的图片类型能力参考Image组件。
支持加载本地图片和网络图片,暂不支持PixelMap类型和Resource资源。
默认图片加载方式为异步,暂不支持同步加载。
设置值为undefined或者空字符串时,rating会选择加载系统默认星型图源。

说明:
rating宽高为[width, height]时,单个图片的绘制区域为[width / stars, height]。
为了指定绘制区域为方形,建议自定义宽高时采取[height * stars, height], width = height * stars的方式。

1.3 事件

onChange(callback:(value: number) => void)

操作评分条的评星发生改变时触发该回调。其参数为选中的评分number

从API version 9开始,该接口支持在ArkTS卡片中使用。

1.4 示例代码

示例代码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')
  }
}

在这里插入图片描述

示例代码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')
  }
}

二、RichText富文本显示

富文本组件,解析并显示HTML格式文本。

说明
该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

2.1 子组件

不包含子组件。

2.2 接口

RichText(content:string)

参数

参数名:content,参数类型string
是否必填:是
功能描述:表示HTML格式的字符串。

2.3 事件

1、加载网页时触发。

onStart(callback: () => void)

2、网页加载结束时触发。

onComplete(callback: () => void)

2.4 属性

只支持通用属性中width,height,size,layoutWeight四个属性。由于padding,margin,constraintSize属性使用时与通用属性描述不符,暂不支持。

2.5 富文本所支持的标签

1、<h1>–<h6>

被用来定义HTML,<h1>定义重要等级最高的标题,<h6>定义重要等级最低的标题。

<h1>这是一个标题

这是h2标题

2、<p></p>

定义段落。

这是一个段落

3、

插入一个简单的换行符。

这是一个段落
这是换行段落

4、<font/>

规定文本的字体、字体尺寸、字体颜色。

<font size=“3” face=“arial” color=“red”>这是一段红色字体。</font>

5、<hr/>

定义HTML页面中的主题变化(比如话题的转移),并显示为一条水平线。

<p>这个一个段落</p><hr/><p>这是一个段落</p>

6、<image></image>

用来定义图片。

<image src=“file:///data/storage/el1/bundle/entry/resources/rawfile/icon.png”></image>

7、<div></div>

常用于组合块级元素,以便通过CSS来对这些元素进行格式化。

<div style=‘color:#0000FF’><h3>这是一个在div元素中的标题。</h3></div>

8、<i></i>

定义与文本中其余部分不同的部分,并把这部分文本呈现为斜体文本。

<i>这是一个斜体</i>

9、<u></u>

定义与常规文本风格不同的文本,像拼写错误的单词或者汉语中的专有名词,应尽量避免使用<u>为文本加下划线,用户会把它混淆为一个超链接。

<p><u>这是带有下划线的段落</u></p>

10、<style></style>

定义HTML文档的样式信息。

<style>h1{color:red;}p{color:blue;}</style>

style

属性规定元素的行内样式,写在标签内部,在使用的时候需用引号来进行区分,并以; 间隔样式,style=‘width: 500px;height: 500px;border: 1px soild;margin: 0 auto;’。

<h1 style=‘color:blue;text-align:center’>这是一个标题</h1><p style=‘color:green’>这是一个段落。</p>

11、<script></script>

用于定义客户端脚本,比如JavaScript。

2.6 示例代码

示例效果请以真机运行为准,当前IDE预览器不支持。

// xxx.ets
@Entry
@Component
struct RichTextExample {
  @State data: string = '<h1 style="text-align: center;">h1标题</h1>' +
  '<h1 style="text-align: center;"><i>h1斜体</i></h1>' +
  '<h1 style="text-align: center;"><u>h1下划线</u></h1>' +
  '<h2 style="text-align: center;">h2标题</h2>' +
  '<h3 style="text-align: center;">h3标题</h3>' +
  '<p style="text-align: center;">p常规</p><hr/>' +
  '<div style="width: 500px;height: 500px;border: 1px solid;margin: 0auto;">' +
  '<p style="font-size: 35px;text-align: center;font-weight: bold; color: rgb(24,78,228)">字体大小35px,行高45px</p>' +
  '<p style="background-color: #e5e5e5;line-height: 45px;font-size: 35px;text-indent: 2em;">' +
  '<p>这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字</p>';

  build() {
    Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center,
      justifyContent: FlexAlign.Center }) {
      RichText(this.data)
        .onStart(() => {
          console.info('RichText onStart');
        })
        .onComplete(() => {
          console.info('RichText onComplete');
        })
        .width(500)
        .height(400)
        .backgroundColor(0XBDDB69)
      RichText('layoutWeight(1)')
        .onStart(() => {
          console.info('RichText onStart');
        })
        .onComplete(() => {
          console.info('RichText onComplete');
        })
        .size({ width: '100%', height: 110 })
        .backgroundColor(0X92D6CC)
        .layoutWeight(1)
      RichText('layoutWeight(2)')
        .onStart(() => {
          console.info('RichText onStart');
        })
        .onComplete(() => {
          console.info('RichText onComplete');
        })
        .size({ width: '100%', height: 110 })
        .backgroundColor(0X92C48D)
        .layoutWeight(2)
    }
  }
}

在这里插入图片描述


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1140993.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于STM32的汽车仪表系统设计

收藏和点赞&#xff0c;您的关注是我创作的动力 文章目录 概要 一、方案设计1.1 总体方案论证1.2 项目总体设计 二、软件设计3.1 主程序设计 三、软件设计3.3 emWin图形界面实现实物附录2 源程序清单 四、 结论五、 文章目录 概要 本次课题基于STM32F407微型控制器以及CAN总线…

智能决策:数字孪生的商业洞察

数字孪生在企业管理中的应用是一项重要的技术趋势&#xff0c;它为企业提供了强大的工具&#xff0c;以数字化的方式模拟和管理其物理资产、流程和运营。本文将探讨数字孪生在企业管理中的关键应用领域&#xff0c;以及它对企业的益处。 1. 制造业优化 数字孪生可以在制造业中…

RabbitMQ-死信交换机和死信队列

1. 简介 DLX: Dead-Letter-Exchange 死信交换器&#xff0c;死信邮箱 2.代码示例 Configuration public class RabbitConfig {final static String exchangeNormalName "exchange.dlx.normal";final static String queueNormalName "queue.dlx.normal"…

springsecurity学习笔记-未完

目录 前言 一、概念 1.什么是springsecurity 2.对比shiro 二、开始项目 1.建立一个空项目&#xff0c;建立module&#xff0c;引入相关依赖 2.启动项目&#xff0c;访问项目 3.自定义密码 总结 前言 记录一下学习springsecurity的过程 开发环境&#xff1a;IDEA 一、概念 1.…

shell脚本的编写(输入、输出、变量、数组等的使用规范及实例)

1.shell中变量的定义 使用变量的值&#xff1a; 例子&#xff1a; 2.外部传参/位置变量 例子&#xff1a; 3.输出---echo 4.输入---read 5.命令置换符 作用:把指令的运行结果赋值给变量 6.数组--shell支持稀疏数组

计算机视觉的相机选型

#你一般什么时候会用到GPT?# 目前市面上的工业相机大多是基于CCD&#xff08;ChargeCoupled Device&#xff09;或CMOS&#xff08;Complementary Metal Oxide Semiconductor&#xff09;芯片的相机。一般CCD制造工艺更加复杂&#xff0c;也会更贵一点&#xff01; 1、CCD工…

请求分页中的内存分配

1.最小物理块数的确定 这里所说的最小物理块数&#xff0c;是指能保证进程正常运行所需的最小物理块数。当系统为进程分配的物理块数少于此值时&#xff0c;进程将无法运行。 2.内存分配策略 1&#xff09;内存分配策略 固定分配是指为每个进程分配一固定页数的内存空间&am…

支持自动生成API文档 Apipost 真香

在数字化时代&#xff0c;API已经成为了应用程序之间进行通信的关键桥梁。随着API的普及和复杂性的增加&#xff0c;API研发和管理也面临着越来越多的挑战。为了更好地应对这些挑战&#xff0c;Apipost提供了一整套API研发工具&#xff0c;包括API设计、API调试、API文档和API自…

碳排放数据,各地区的(直辖市数据细分到区县),含shp和xlsx格式,带符号化

这两天推了道路相关的数据&#xff0c;道路线路、客运飞机场、航空、地铁、火车站点等等交通出行类的数据之前都已发过&#xff0c;需要的可以自己翻一翻。 交通运输行业还比较关注的碳排放数据&#xff0c;也整理出来了&#xff0c;有需要的自取。 数据地址&#xff1a; 全…

政务可视化 玫瑰图和柱折混合图

安装echarts时&#xff0c;需进入到vue-demo的目录下 与第二章操作步骤相同 删除全部默认效果 将上述60像素删除&#xff0c;设置整个背景宽&#xff0c;高等 设置标题 设置图表结构&#xff08;左右两个盒子&#xff09; 设置图表边框&#xff0c;宽&#xff0c;高&#xff0…

Peter算法小课堂—归并排序

位运算 << 这个符号相当于将一个数二进制往左移动几位&#xff0c;如(100110)2<<1(001100)2。相当于乘以2的k次方 >> 这个符号相当于将一个数二进制往右移动几位&#xff0c;如(100110)2<<1(0100110)2。相当于除以2的k次方 归并排序 先看一个视频…

token正确不报错,token失效后却出现报跨域错误

1.今天在使用koajs开发项目时&#xff0c;突然发现前端配置axios的response获取不到后端定义的token失效内容了&#xff0c;取而代之的是出现了跨域的错误。 2. 我马上去查找koajs的跨域中间件配置&#xff0c;发现配置完好cors&#xff0c;token正确时&#xff0c;接口正常访问…

code too large

描述&#xff1a;比较尴尬&#xff0c;一个方法的代码接近10000行了&#xff0c;部署服务器的时候提示(java :code[255,21] too large),提示代码过长&#xff0c;无法运行。 查看了一下百度&#xff1a;解决的思路 JVM规范&#xff1a;「类或接口可以声明的字段数量限制在 655…

水声功率放大器的应用场景是什么

水声功率放大器是一种专门用于水声信号处理和传输的设备&#xff0c;通过放大水声信号的功率&#xff0c;以实现远距离传播和提高信号的清晰度和可辨识度。下面是关于水声功率放大器应用场景的详细解释&#xff1a; 水声通信&#xff1a;水声通信是一种在水下进行声波传输的技术…

电脑如何激活windows

当我们电脑出现如下图&#xff1a; 显示需要激活windows时&#xff0c;操作如下。 1、桌面-新建-文本文档 2、将文档命名为&#xff08;激活windows.bat&#xff09;把原有文档中的后缀.txt去掉 3、点击右键&#xff0c;选择编辑输入代码 slmgr/skms kms.03k.org slmgr/ato4、…

logback-classic包中ThrowableProxy递归缺陷StackOverflowError解析

logback-classic&#xff08;<1.2.12版本&#xff09;ThrowableProxy类中存在递归缺陷&#xff0c;会导致java.lang.StackOverflowError。改缺陷在1.2.12以上版本(包含该版本)中已修复。 如何复现&#xff1a; 两个异常彼此设置casue&#xff1a; 运行后报以下错误 以上写…

Rust 模块系统

文章目录 模块系统crate包cargo 创建库库的使用 模块系统 Rust的{模块系统|the module system}&#xff0c;包括&#xff1a; * 包&#xff08;Packages&#xff09;&#xff1a; Cargo 的一个功能&#xff0c;它允许你构建、测试和分享 crate。 * Crates &#xff1a;一个模…

【Uva】10976-Fractions Again?!

1、题目 2、题意 输入正整数 k k k&#xff0c;找到所有正整数 x ≥ y x \ge y x≥y&#xff0c;使得 1 k 1 x 1 y \frac{1}{k} \frac{1}{x} \frac{1}{y} k1​x1​y1​。 3、分析 既然要求找出所有的 x , y x,y x,y&#xff0c;枚举对象自然是 x , y x,y x,y了。可…

有用过成绩查询系统的老师吗?

是不是有时候觉得手动查询成绩是一件超级繁琐的事情&#xff1f;有了这个成绩查询系统&#xff0c;你就可以告别手动时代啦&#xff01; 先来了解一下什么是成绩查询系统。成绩查询系统是一种可以自动查询学生成绩的系统。通过这个系统&#xff0c;学生可以输入自己的学号或姓名…

使用管理员其权限打开cmd,如何切换到其他磁盘

问题描述&#xff1a; 切换到 O:\BaiduSyncdisk\develope\mysql-8.0.31-winx64 &#xff0c;直接使用cd命令切换失败。 原因是因为&#xff0c;在使用管理员身份打开cmd的时候&#xff0c;只能切换到当前盘符下的目录&#xff0c;而不能切换到其他盘符下的目录。 解决方案&am…