当前位置: 首页 > news >正文

Harmony OS 开发入门 第三章

本章继续Harmony OS中UI开发中的内容。

目录

SVG图标

1. SVG 图标的优势

2. 在 HarmonyOS 中使用 SVG

3.官方图标库

背景属性

.backgroundImage()

.backgroundImagePosition()

.backgroundImageSize()


SVG图标

SVG (Scalable Vector Graphics) 是一种基于 XML 的矢量图形格式,在 HarmonyOS 开发中广泛用于图标和矢量图形的显示。以下是关于在 HarmonyOS 中使用 SVG 图标的详细介绍:

1. SVG 图标的优势

  • 矢量特性:可无限缩放而不失真

  • 文件体积小:相比位图更节省空间

  • 可编辑性:可直接修改颜色、大小等属性

  • 动画支持:支持基于属性的动画效果

2. 在 HarmonyOS 中使用 SVG

svg图标的使用和普通图片一样

Image($r('app.media.图标名称'))

可以通过.fillColor修改图标颜色

3.官方图标库

Harmony OS官方为我们提供一套图标库

背景属性

属性方法属性
背景色backgroundColor
背景图backgroundImage
背景图位置backgroundImagePosition
背景图尺寸backgroundImageSize

.backgroundImage()

.backgroundImage(图片地址,背景图平铺方式-ImageRepeat枚举类型)

背景图平铺方式(可省略):

NoRepeat 不平铺(默认)

X 水平平铺

Y 垂直平铺

XY 水平垂直均平铺

.backgroundImagePosition()

调整背景图在组件内的显示位置,默认显示位置为组件左上角

.backgroundImagePosition(坐标对象或枚举)

位置坐标{x:坐标位置,y:坐标位置} 图片左顶点位置

枚举 Alignment

Text().width(100).height(100).backgroundImage($r('app.media.startIcon')).backgroundColor(Color.Red).backgroundImagePosition(Alignment.Center)

单位问题

背景定位的默认单位和宽高的默认单位不同

背景定位的单位:px 像素,实际的物理像素点

宽高默认单位:vp 虚拟像素,相对于不同的设备会自动转换,保证不同设备视觉一致(推荐)

函数vp2px()可以进行单位转换

.backgroundImageSize()

.backgroundImageSize(宽高对象或枚举)

背景图宽高{width:宽,height:高}

枚举ImageSize

Auto(默认) 原图尺寸

Cover 等比例缩放至完全覆盖组件范围 (多余内容被裁剪掉了)

Contain 等比例缩放至宽或高与组件尺寸相同停止缩放

http://www.dtcms.com/a/329768.html

相关文章:

  • Python Day29 CSS样式
  • Protobuf学习(1)—— 初识与安装
  • 代理解决跨域
  • SparseArray ArrayMap
  • Activity和Fragment生命周期
  • Spring进阶(八股篇)
  • 栈和队列详解
  • LeetCode刷题记录----437.路径总和Ⅲ(medium)
  • 学习:JS进阶[10]内置构造函数
  • HunyuanVideo-Avatar:为多个角色制作高保真音频驱动的人体动画
  • C++哈希进阶-位图
  • 计算机网络技术-知识篇(Day.1)
  • java14学习笔记-打包工具 (Incubator)
  • MoonBit Perals Vol.05: 函数式里的依赖注入:Reader Monad
  • JPrint免费的Web静默打印控件:PDF打印中文乱码异常解决方案
  • 什么是JSP和Servlet以及二者的关系
  • window显示驱动开发—多平面覆盖 VidPN 呈现
  • MVCC底层实现原理
  • Flask入门:从零搭建Web服务器
  • 雅思大作文笔记
  • iOS 签名证书在版本迭代和iOS上架中的全流程应用
  • Docker 在 Linux 中的额外资源占用分析
  • 智汇河套,量子“风暴”:量子科技未来产业发展论坛深度研讨加速产业成果转化
  • 信息学奥林匹克竞赛(NOI/NOIP/CSP) 学习进度自查表
  • 使用 Python Selenium 和 Requests 实现歌曲网站批量下载实战
  • 嵌入式学习 day50 IMX6ULL裸机开发 - 时钟
  • Linux 5.15.189-rt87 实时内核安装 NVIDIA 显卡驱动
  • 手机充电线贴标机如何使用
  • 内存可见性和伪共享问题
  • php7 太空船运算符