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

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.xdnf.cn/news/17815.html

相关文章:

  • 四、深入剖析Java程序逻辑控制:从字节码到性能优化
  • Android 双屏异显技术全解析:从原理到实战的多屏交互方案
  • sqli-libs通关教程(51-65)
  • Linux系统编程Day13 -- 程序地址空间(进阶)
  • 18.9 BERT问答模型实战:从数据到部署的完整指南
  • dolphinscheduler 依赖节点不通过
  • 【Spring Boot 3.0 + JDK 17 新手指南:完整用户管理系统】
  • ADB 无线调试连接(Windows + WSL 环境)
  • AI一周事件(2025年8月6日-8月12日)
  • 字符串匹配算法
  • 深度学习——03 神经网络(3)-网络优化方法
  • cisco无线WLC flexconnect配置
  • latex中“itemize”
  • 了解 Linux 中的 /usr 目录以及 bin、sbin 和 lib 的演变
  • 肖臻《区块链技术与应用》第十一讲:比特币核心概念重温:一文读懂私钥、交易、挖矿与网络现状
  • 深入解析 AUTOSAR:汽车软件开发的革命性架构
  • Qt中定时器介绍和使用
  • 什么是跨域访问问题,如何解决?
  • 企业高性能web服务器(3)
  • cartographer 后端优化流程
  • 终端安全检测与防御技术
  • MySQL 存储过程终止执行的方法
  • [TryHackMe]Internal(hydra爆破+WordPress主题修改getshell+Chisel内网穿透)
  • MyBatis 缓存与 Spring 事务相关笔记
  • 安路Anlogic FPGA下载器的驱动安装与测试教程
  • 扩展 Chat2File-deepseek V4.0 正式发布:不仅是更新,更是一次“重塑”
  • 实验-vlan实验
  • 8月12号打卡
  • 常用Linux指令:Java/MySQL/Tomcat/Redis/Nginx运维指南
  • MySql——B树和B+树区别(innoDB引擎为什么把B+树作为默认的数据结构)