首页 > 其他分享 >鸿蒙UI系统组件14——几何图形(Shape)

鸿蒙UI系统组件14——几何图形(Shape)

时间:2024-12-15 18:12:12浏览次数:5  
标签:150 14 300 height width Shape UI Circle viewport

1、概述

上篇文章中,我们讨论了在鸿蒙系统中如何显示一张图片,鸿蒙UI系统组件13——图片显示(Image),在鸿蒙开发中,除了使用静态图片展示外,我们还可以自己使用代码画一些几何图形,例如:三角形、矩形、圆形、多边形等。此时,我们就需要用到Shape组件来完成我们的需求。

2、创建绘制组件

绘制组件可以由以下两种形式创建:

**形式一:**绘制组件使用Shape作为父组件,实现类似SVG的效果。接口调用为以下形式:

// 【注意:value为可选参数】
Shape(value?: PixelMap)

该接口用于创建带有父组件的绘制组件,其中value用于设置绘制目标,可将图形绘制在指定的PixelMap对象中,若未设置,则在当前绘制目标中进行绘制(个人理解为直接绘制在组件所在区域)。

下面是一个demo(同时绘制一个矩形和圆形):

Shape() {
  Rect().width(300).height(50)
  Circle({ width: 150, height: 150 }).fill('red')
}

效果如下:

图片

**形式二:**绘制组件单独使用,用于在页面上绘制指定的图形。有7种绘制类型,分别为Circle(圆形)、Ellipse(椭圆形)、Line(直线)、Polyline(折线)、Polygon(多边形)、Path(路径)、Rect(矩形)。以Circle的接口调用为例:

Circle(options?: {width?: string | number, height?: string | number}

该接口用于在页面绘制圆形,其中width用于设置圆形的宽度,height用于设置圆形的高度,圆形直径由宽高最小值确定。

下面是一个demo(直接绘制一个圆形):

Circle({ width: 150, height: 150 })

效果如下:

图片

3、为Shape设置viewport视口

与svg类似,我们在绘制几何图形时,可以为图形设置一个视口,设置方法如下(为Shape设置viewport属性):

Shape() {
          Rect().width(300).height(50)
}.viewPort({
  x: 0,
  y: 0,
  width: 300,
  height: 100,
})

viewport参数如下:

viewPort{ x?: number | string, y?: number | string, width?: number | string, height?: number | string }

viewport用于指定用户空间中的一个矩形,该矩形映射到为关联的 SVG 元素建立的视区边界。viewport属性的值包含x、y、width和height四个可选参数,x 和 y 表示视区的左上角坐标,width和height表示其尺寸。

下面展示一下viewport的三个用法:

标签:150,14,300,height,width,Shape,UI,Circle,viewport
From: https://www.cnblogs.com/harmonyClassRoom/p/18608269

相关文章

  • 鸿蒙UI系统组件13——图片显示(Image)
    1、概述开发者经常需要在应用中显示一些图片,例如:按钮中的icon、网络图片、本地图片等。在应用中显示图片需要使用Image组件实现,Image支持多种图片格式,包括png、jpg、bmp、svg和gif。Image通过调用接口来创建,接口调用形式如下:Image(src:string|Resource|media.PixelMap)......
  • 鸿蒙UI系统组件12——页面间跳转(router)
    1、概述实际的APP开发中,几乎都会遇到有多个页面跳转的情况,例如,登录->首页->个人中心。在鸿蒙开发中,页面间的跳转被称作为“页面路由”。HarmonyOS提供了Router模块,通过不同的url地址,可以方便地进行页面路由,轻松地访问不同的页面。本文将从页面跳转、页面返回和页面返回前增......
  • 鸿蒙UI系统组件15——画布(Canvas)
    概 述前一章我们学习了Shape绘制来绘制自定义形状(鸿蒙UI系统组件14——几何图形(Shape)),在实际的业务开发中,有可能我们需要绘制更复杂的图形,例如统计图中的饼图、折线图等,除了绘制图形外,可能还会绘制一些复杂的组件效果,此时,我们就需要用到画布(Canvas)组件来满足我们的需求了......
  • 2024-2025-1 20241314 《计算机基础与程序设计》第十二周学习总结
    2024-2025-120241314《计算机基础与程序设计》第十二周学习总结作业信息这个作业属于哪个课程2024-2025-1-计算机基础与程序设计这个作业要求在哪里2024-2025-1计算机基础与程序设计第十二周作业这个作业的目标复习作业正文正文教材学习内容总结引......
  • 基于UI交互意图理解的异常检测方法2
     1.背景近年来,随着美团多种业务线的扩充和迭代,UI测试的任务愈发繁重。针对UI测试中人工成本过高的问题,美团到店测试团队开发了视觉自动化工具以进行UI界面的静态回归检查。然而,对于UI交互功能逻辑的检验仍强依赖于脚本测试,其无法满足对于进一步效率、覆盖面提升的强烈需求。......
  • 学期(2024-2025-1) 学号(20241428) 《计算机基础与程序设计》第十二周学习总结
    作业信息这个作业属于哪个课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业的目标加入云班课,参考本周学习资源自学教材《C语言程序设计》第11章并完成云班课测试作业正文https://i.cnblogs.com/posts/edit教材学习内容总结*文件指针(FILE)*......
  • 鸿蒙UI系统组件01——文本组件(Text/Span)
    如果你也对鸿蒙开发感兴趣,加入“Harmony自习室”吧!点击下面的名片关注公众号。1、概述Text是文本组件,是我们开发UI界面中最常见的组件之一,通常用于展示用户的视图,如显示文章的文字。下面将对文本组件展开介绍。2、创建文本Text可通过以下两种方式来创建:string字符串Text('......
  • 基于UI交互意图理解的异常检测方法12
      1.背景近年来,随着美团多种业务线的扩充和迭代,UI测试的任务愈发繁重。针对UI测试中人工成本过高的问题,美团到店测试团队开发了视觉自动化工具以进行UI界面的静态回归检查。然而,对于UI交互功能逻辑的检验仍强依赖于脚本测试,其无法满足对于进一步效率、覆盖面提升的强烈需求......
  • 搜索广告召回技术在美团的实践14
     美团搜索广告介绍从美团流量场景角度来看,美团搜索广告分为两大类,一是列表推荐广告;二是搜索广告。推荐广告以展现商家模式为主,通常叫商家流。搜索广告的展现形式比较丰富,有商家模式,即以商家展现为主,会挂上菜品/商品;还有商品模式,即以商品展现为主,以呈现商品大图、商品标题等核......
  • 基于UI交互意图理解的异常检测方法13
      1.背景近年来,随着美团多种业务线的扩充和迭代,UI测试的任务愈发繁重。针对UI测试中人工成本过高的问题,美团到店测试团队开发了视觉自动化工具以进行UI界面的静态回归检查。然而,对于UI交互功能逻辑的检验仍强依赖于脚本测试,其无法满足对于进一步效率、覆盖面提升的强烈需求......