鸿蒙Harmony-矩形绘制组件Rect使用详解

目录

一,定义

 二,绘制自定义图形

三,作为其他控件背景使用

一,定义

Rect是鸿蒙提供的矩形绘制组件,利用该组件可以绘制矩形背景,矩形图案等

官方提供的参数和属性:

参数:

参数名参数类型必填默认值参数描述
widthstring | number0宽度。
说明:
异常值按照默认值处理。
heightstring | number0高度。
说明:
异常值按照默认值处理。
radiusstring | number | Array<string | number>0圆角半径,支持分别设置四个角的圆角度数。
该属性和radiusWidth/radiusHeight属性效果类似,在组合使用时优先于radiusWidth/radiusHeight生效
说明:
异常值按照默认值处理。
radiusWidthstring | number0圆角宽度。
说明:
异常值按照默认值处理。
radiusHeightstring | number0圆角高度。
说明:
异常值按照默认值处理。

 属性:

名称类型默认值描述
radiusWidthstring | number0圆角的宽度,仅设置宽时宽高一致。
从API version 9开始,该接口支持在ArkTS卡片中使用。
说明:
异常值按照默认值处理。
radiusHeightstring | number0圆角的高度,仅设置高时宽高一致。
从API version 9开始,该接口支持在ArkTS卡片中使用。
说明:
异常值按照默认值处理。
radiusstring | number | Array<string | number>0圆角半径大小。
从API version 9开始,该接口支持在ArkTS卡片中使用。
说明:
异常值按照默认值处理。
fillResourceColorColor.Black设置填充区域颜色。
从API version 9开始,该接口支持在ArkTS卡片中使用。
说明:
异常值按照默认值处理。
fillOpacityLength1设置填充区域透明度。
取值范围是[0.0, 1.0],若给定值小于0.0,则取值为0.0;若给定值大于1.0,则取值为1.0,其余异常值按1.0处理。
从API version 9开始,该接口支持在ArkTS卡片中使用。
strokeResourceColor-设置边框颜色,不设置时,默认没有边框。
从API version 9开始,该接口支持在ArkTS卡片中使用。
说明:
异常值不会绘制边框。
strokeDashArrayArray<Length>[]设置边框间隙。
从API version 9开始,该接口支持在ArkTS卡片中使用。
说明:
线段相交时可能会出现重叠现象。异常值按照默认值处理。
strokeDashOffsetnumber | string0边框绘制起点的偏移量。
从API version 9开始,该接口支持在ArkTS卡片中使用。
说明:
异常值按照默认值处理。
strokeLineCapLineCapStyleLineCapStyle.Butt设置边框端点绘制样式。
从API version 9开始,该接口支持在ArkTS卡片中使用。
strokeLineJoinLineJoinStyleLineJoinStyle.Miter设置边框拐角绘制样式。
从API version 9开始,该接口支持在ArkTS卡片中使用。
strokeMiterLimitnumber | string4设置斜接长度与边框宽度比值的极限值。斜接长度表示外边框外边交点到内边交点的距离,边框宽度即strokeWidth属性的值。
从API version 9开始,该接口支持在ArkTS卡片中使用。
说明:
该属性取值需在strokeLineJoin属性取值LineJoinStyle.Miter时生效。
该属性的合法值范围应当大于等于1.0,当取值范围在[0,1)时按1.0处理,其余异常值按默认值处理。
strokeOpacityLength1设置边框透明度。
从API version 9开始,该接口支持在ArkTS卡片中使用。
说明:
该属性的取值范围是[0.0, 1.0],若给定值小于0.0,则取值为0.0;若给定值大于1.0,则取值为1.0,其余异常值按1.0处理 。
strokeWidthLength1设置边框宽度。
从API version 9开始,该接口支持在ArkTS卡片中使用。
说明:
该属性若为string类型, 暂不支持百分比,百分比按照1px处理。
antiAliasbooleantrue是否开启抗锯齿效果。
从API version 9开始,该接口支持在ArkTS卡片中使用。
说明:
异常值按照默认值处理。

 二,绘制自定义图形

比如要绘制一个类似于叶子的图形

@Entry
@Component
struct Index {build() {Stack({alignContent: Alignment.Center}) {Rect({ width: 100, height: 50 }) //矩形的宽高.radius([[0, 0], [60, 60], [0, 0], [60, 60]]) //矩形的圆角.fill("#FF0000")//矩形的填充色}.width("100%").height("100%")}
}

效果如下: 

设置矩形的边框颜色:

@Entry
@Component
struct Index {build() {Stack({alignContent: Alignment.Center}) {Rect({ width: 100, height: 50 }) //矩形的宽高.radius([[0, 0], [60, 60], [0, 0], [60, 60]]) //矩形的圆角.fill("#FF0000")//矩形的填充色.stroke("#000000") //矩形的边框颜色}.width("100%").height("100%")}
}

效果如下: 

 

 设置矩形边框宽度:

@Entry
@Component
struct Index {build() {Stack({alignContent: Alignment.Center}) {Rect({ width: 100, height: 50 }) //矩形的宽高.radius([[0, 0], [60, 60], [0, 0], [60, 60]]) //矩形的圆角.fill("#FF0000")//矩形的填充色.stroke("#000000") //矩形的边框颜色.strokeWidth(6)//矩形的边框宽度}.width("100%").height("100%")}
}

效果如下: 

三,作为其他控件背景使用

在安卓中,可以自定义drawable-xml来作为其他组件的背景,在鸿蒙中,可以将Rect作为其他组件的背景使用。

首先自定义Builder:

@Builder bg() {Rect({ width: "100%", height: "100%" }).radius([[17, 17], [17, 17], [17, 17], [17, 17]]).fill("#55000000")}

 然后在组件中使用:

@Entry
@Component
struct Index {@Builder bg() {Rect({ width: "100%", height: "100%" }).radius([[17, 17], [17, 17], [17, 17], [17, 17]]).fill("#55000000")}build() {Stack({alignContent: Alignment.Center}) {Image($r('app.media.pic_bed_nurse_in')).width(60).height(60).background(this.bg())//设置背景}.width("100%").height("100%")}
}

 运行效果:

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

netty之bootstrap源码分析

写在前面 本文看下bootstrap类。 1&#xff1a;正文 1.1&#xff1a;干啥的&#xff1f; 在进行netty编程的时候都是先创建一个bootstrap&#xff0c;然后设置很多的东西&#xff0c;如下代码&#xff08;服务端启动代码&#xff09;&#xff1a; ServerBootstrap b new …

c# WinForm弹出窗体时不获取焦点方法

WinForm开发的软件有时候需要在屏幕右下角弹窗进行一些提示&#xff0c;通常使用new MyForm().Show()即可实现此需求。 但是当MyForm显示出来时&#xff0c;会抢走原本窗体上的光标&#xff0c;导致原本在软件上比如打字或者其他操作被中断&#xff0c;非常不人性化&#xff0…

方差和标准差哪些事儿

1.方差 在概率论与数理统计中&#xff0c;方差用来度量随机变量和其数学期望&#xff08;即均值&#xff09;之间的偏离程度。方差是各个数据与平均数之差的平方和的平均数,即: s(1/n)[(x1-x_)^2 (x2-x_)^2 …(xn-x_)^2] 其中&#xff0c;x_表示样本的平均数&#xff0c;n表示…

Hudi Upsert原理

1. 前言 如果要深入了解Apache Hudi技术的应用或是性能调优&#xff0c;那么明白源码中的原理对我们会有很大的帮助。Upsert是Apache Hudi的核心功能之一&#xff0c;主要完成增量数据在HDFS/对象存储上的修改&#xff0c;并可以支持事务。而在Hive中修改数据需要重新分区或重…

了解SQLExpress数据库

SQLExpress&#xff08;Microsoft SQL Server Express&#xff09;是由微软公司开发的一款免费且轻量级的数据库管理系统。以下是关于SQLExpress的详细解释&#xff1a; 一、定义与特点 定义&#xff1a; SQLExpress是Microsoft SQL Server的一个缩减版或基础版&#xff0c;旨在…

空天地遥感数据识别与计算

在科技飞速发展的时代&#xff0c;遥感数据的精准分析已经成为推动各行业智能决策的关键工具。从无人机监测农田到卫星数据支持气候研究&#xff0c;空天地遥感数据正以前所未有的方式为科研和商业带来深刻变革。然而&#xff0c;对于许多专业人士而言&#xff0c;如何高效地处…

JavaEE-多线程初阶(2)

目录 1.创建线程的五种写法 1.1 继承Thread类 1.2 实现Runnable接口 1.3 使用匿名内部类 1.4 使用Runnable&#xff0c;匿名内部类 1.5 引入lambda表达式 2.Thread类及常见方法 2.1 认识Thread 2.2 Thread的常见构造方法 2.3 Thread的几个常见属性 关于后台线程 关…

【网络安全】揭示 Web 缓存污染与欺骗漏洞

未经许可,不得转载。 文章目录 前言污染与欺骗Web 缓存污染 DoS1、HTTP 头部超大 (HHO)2、HTTP 元字符 (HMC)3、HTTP 方法覆盖攻击 (HMO)4、未键入端口5、重定向 DoS6、未键入头部7、Host 头部大小写规范化8、路径规范化9、无效头部 CP-DoS10、HTTP 请求拆分Web 缓存污染与有害…

重工业数字化转型创新实践:某国家特大型钢铁企业如何快速落地基于实时数仓的数据分析平台

使用 TapData&#xff0c;化繁为简&#xff0c;摆脱手动搭建、维护数据管道的诸多烦扰&#xff0c;轻量替代 OGG, Kettle 等同步工具&#xff0c;以及基于 Kafka 的 ETL 解决方案&#xff0c;「CDC 流处理 数据集成」组合拳&#xff0c;加速仓内数据流转&#xff0c;帮助企业…

Golang | Leetcode Golang题解之第522题最长特殊序列II

题目&#xff1a; 题解&#xff1a; func isSubseq(s, t string) bool {ptS : 0for ptT : range t {if s[ptS] t[ptT] {if ptS; ptS len(s) {return true}}}return false }func findLUSlength(strs []string) int {ans : -1 next:for i, s : range strs {for j, t : range s…

(C#面向初学者的 .NET 的生成 AI) 第 1 部分-简介

第 1 部分简介就是由Luis Quintanilla讲述本系列教程要学习哪些部分&#xff0c;基本都是介绍&#xff0c;内容不是很多。但可以先了解一下.net 生成式AI需要学习接触哪些东西。 在这个关于机器学习和AI的初学者系列中&#xff0c;Luis Quintanilla向.net开发人员介绍了基础知识…

【密码学】全同态加密基于多项式环计算的图解

全同态加密方案提供了一种惊人的能力 —— 能够在不知道数据具体内容的情况下对数据进行计算。这使得你可以在保持潜在敏感源数据私密的同时&#xff0c;得出问题的答案。 这篇文章的整体结构包括多项式环相关的数学介绍&#xff0c;基于多项式环的加密和解密是如何工作的&…

Spring Boot中解决BeanDefinitionStoreException问题的实战分享

目录 前言1. 问题背景2. 问题分析2.1 异常分析2.2 常见的错误原因2.3 排查过程 3. 解决方案3.1 清理缓存和重建项目3.1.1 清理IDEA缓存3.1.2 使用Maven清理并重建项目 3.2 升级Maven版本3.2.1 下载最新Maven版本3.2.2 IDEA配置新的Maven版本3.2.3 清理缓存并重新构建 3.3 验证问…

Java避坑案例 - 线程池未复用引发的故障复盘及源码分析

文章目录 问题现象问题定位问题代码根因分析现象剖析newCachedThreadPool 源码SynchronousQueue特点构造方法主要方法应用场景Code Demo运行结果 问题修复 问题现象 时不时有报警提示线程数过多&#xff0c;超过2000 个&#xff0c;收到报警后查看监控发现&#xff0c;瞬时线程…

AHB Matrix 四星级 验证笔记(1.8-1.9)scoreboard的实现

文章目录 前言一、scoreboard接收数据的方式和比较行为的策略选择1.接受数据的方式1. 首先是数据从哪儿来&#xff1f; 2.比较数据的方式1.方案一2.方案二3. 方案的选择 二、scoreboard的实现1.代码 三、tip1.编辑断点2. return3.有关函数的返回值&#xff1a;函数内部隐式声明…

商业潜规则揭秘:从成交艺术到客户满意度的全方位策略

潜规则一&#xff1a;成交的艺术——七大核心原则 顾客追求的是超值感&#xff0c;而非单纯低价。 与顾客讨论的重点应是价值&#xff0c;而非价格。 客户没有绝对的对错&#xff0c;关键在于服务是否到位。 销售方式比销售产品本身更重要。 没有绝对最好的产品&#xff0c;只有…

在IDEA2024中生成SpringBoot模板

1、创建新项目 根据自己想要创建的工程类型选择&#xff0c;这里创建的时web工程 生成项目&#xff1a; 注意&#xff1a;SpringBoot只会扫描主程序所在的包及其下面的子包

物流行业信息化整体规划方案|117页PPT

文件是关于“物流行业信息化整体规划方案”的详细规划报告&#xff0c;涵盖了物流信息化咨询项目的规划报告&#xff0c;包括业务理解与需求分析、信息化现状分析、信息化蓝图规划以及实施路径与保障措施等多个方面。以下是对文档内容的总结&#xff1a; 1. 引言&#xff1a;信…

opencv优秀文章集合

文章目录 一、 CV领域1.1 图像处理1.2 目标检测与识别1.3 图像分割、目标追踪1.4 姿态估计1.5 3D视觉1.6 图像生成1.7 机器视觉1.8 其它 二、 nlp三、语音四、推荐系统 《OpenCV优秀文章集合》《OpenCV系列课程一&#xff1a;图像处理入门&#xff08;读写、拆分合并、变换、注…

Windows转Mac过渡指南

最近由于工作原因开始使用mac电脑&#xff0c;说实话刚拿到手的时候&#xff0c;window党表示真的用不惯。坚持用一下午之后&#xff0c;发现真的yyds&#xff0c;这篇文章说说mac电脑的基本入门指南。 1. 不会使用mac的触摸板&#xff0c;接上鼠标发现滚轮和windows是反的。 …