SAPUI5基础知识22 - 图标(Icons)

1. 背景

SAPUI5 提供了一套丰富的图标库,可以用于增强应用程序的视觉吸引力和用户体验。这些图标是矢量图形,可以在任何分辨率下保持清晰,并且可以自定义颜色和大小。

2. 示例

在 SAPUI5 中,图标可以通过 sap.ui.core.Icon 控件使用,也可以直接在其他控件中使用,如按钮或列表项。

通过Icon控件直接使用:

new sap.ui.core.Icon({src: "sap-icon://add",size: "2rem",color: "#0f0"
});

在这个例子中,我们创建了一个新的 Icon 控件,其源设置为 "sap-icon://add",这是添加图标的 URI。我们还设置了图标的大小和颜色。

在其他控件中使用:

new sap.m.Button({icon: "sap-icon://add",text: "Add"
});

在这个例子中,我们在一个按钮控件中使用了添加图标。按钮的文本设置为 "Add"

SAPUI5 的图标通过特殊的 URI 引用,格式为 “sap-icon://”。例如,添加图标的 URI 是 “sap-icon://add”。

此外,可以通过 colorsize 属性自定义图标的颜色和大小。颜色可以是任何有效的 CSS 颜色值,大小可以是任何有效的 CSS 尺寸值。

例如,你可以将图标的颜色设置为绿色,并将其大小设置为 2rem:

new sap.ui.core.Icon({src: "sap-icon://add",size: "2rem",color: "#0f0"
});

请注意,不是所有的图标都支持自定义颜色。只有那些设计为可以改变颜色的图标才能改变颜色。

可以在 SAP 图标 Explorer 中查看所有可用的图标。
在这里插入图片描述
例如,搜索Add关键字,便可以看到所有相关的图标:
在这里插入图片描述

3. 练习

让我们在前序练习的基础上,为我们的<Button>控件和<Dialog>对话框控件添加图标,进一步改善我们程序的UI。

3.1 为Button控件添加图标

打开HelloPanel.view.xml文件,通过icon属性,为<Button>控件添加图标。
在这里插入图片描述

sap-icon:// 协议指示应加载图标,标识符world是图标的名称。

改动后HelloPanel.view.xml文件内容如下:

<mvc:ViewcontrollerName="zsapui5.test.controller.HelloPanel"xmlns="sap.m"xmlns:mvc="sap.ui.core.mvc"
><PanelheaderText="{i18n>helloPanelTitle}"class="sapUiResponsiveMargin"width="auto"><content><Buttonid="helloDialogButton"icon="sap-icon://world"text="{i18n>openDialogButtonText}"press=".onOpenDialog"class="sapUiSmallMarginEnd"/><Buttontext="{i18n>showHelloButtonText}"press=".onShowHello"class="myCustomButton"/><Inputvalue="{/recipient/name}"valueLiveUpdate="true"width="60%"/><FormattedTexthtmlText="Hello {/recipient/name}"class="sapUiSmallMargin sapThemeHighligh-asColor myCustomText"/></content></Panel>
</mvc:View>

3.2 为Dialog控件添加图标

接下来,让我们为<Dialog>控件添加图标。

打开HelloDialog.fragment.xml文件,在<Dialog>控件的<content>聚合中添加图标,并定义图标的大小,以及设置中等边距。
在这里插入图片描述

改动后的HelloDialog.fragment.xml文件内容如下:

<core:FragmentDefinitionxmlns="sap.m"xmlns:core="sap.ui.core"
><Dialogid="helloDialog"title="Hello {/recipient/name}"><content><core:Iconsrc="sap-icon://hello-world"size="8rem"class="sapUiMediumMargin"/></content><beginButton><Buttontext="{i18n>dialogCloseButtonText}"press=".onCloseDialog"/></beginButton></Dialog>
</core:FragmentDefinition>

注:在SAPUI5应用程序的开发过程中,应尽可能使用图标(避免使用图片images),因为图标是矢量图形,可以无损失地扩展,并且无需单独进行加载。

3.3 运行程序

运行改动后的程序,效果如下:

在这里插入图片描述
可以看到<Button>控件和<Dialog>对话框控件添加图标,已经成功地显示出来了。

4. 小结

本文介绍了SAPUI5中图标的概念,并通过一个具体的实例展示了其用法。

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

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

相关文章

Redis快速入门基础

Redis入门 Redis是一个基于内存的 key-value 结构数据库。mysql是二维表的接口数据库 优点&#xff1a; 基于内存存储&#xff0c;读写性能高 适合存储热点数据(热点商品、资讯、新闻) 企业应用广泛 官网:https://redis.io 中文网:https://www.redis.net.cn/ Redis下载与…

Spring缓存注解

Spring缓存注解 EnableCaching | 来启动缓存注解Cached | 用来表示某一个方法的结果可以被缓存 Cached(name “testCache:id1:”, key “#testId”, cacheType CacheType.REMOTE, localLimit CustomerConstants.DEFAULT_LIMIT, expire 1800)方法方法上。 #相关参数&#…

The Llama 3 Herd of Models 第6部分推理部分全文

第1,2,3部分 介绍,概览和预训练 第4部分 后训练 第5部分 结果 6 Inference 推理 我们研究了两种主要技术来提高Llama 3405b模型的推理效率:(1)管道并行化和(2)FP8量化。我们已经公开发布了FP8量化的实现。 6.1 Pipeline Parallelism 管道并行 当使用BF16数字表示模型参数时…

家具购物小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;家具分类管理&#xff0c;家具新品管理&#xff0c;订单管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;家具新品&#xff0c;家具公告&#xff0…

【开发学习笔记】git的工作区与分支

Git是一款分布式版本控制系统&#xff0c;被广泛应用于软件开发中&#xff0c;用于跟踪和管理项目的源代码。在Git中&#xff0c;工作区与分支是两个核心概念&#xff0c;它们在Git的工作流程中扮演着不同的角色。 工作区的概念 工作区&#xff08;Working Directory&#xf…

Linux网络——深入理解传入层协议TCP

目录 一、前导知识 1.1 TCP协议段格式 1.2 TCP全双工本质 二、三次握手 2.1 标记位 2.2 三次握手 2.3 捎带应答 2.4 标记位 RST 三、四次挥手 3.1 标记位 FIN 四、确认应答(ACK)机制 五、超时重传机制 六 TCP 流量控制 6.1 16位窗口大小 6.2 标记位 PSH 6.3 标记…

YOLOv5改进 | 卷积模块 | 无卷积步长用于低分辨率图像和小物体的新 CNN 模块SPD-Conv

秋招面试专栏推荐 &#xff1a;深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 &#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 专栏目录&#xff1a; 《YOLOv5入门 改…

[ WARN:0@0.014] global loadsave.cpp:248 cv::findDecoder imread_

[ WARN:00.014] global loadsave.cpp:248 cv::findDecoder imread_ 目录 [ WARN:00.014] global loadsave.cpp:248 cv::findDecoder imread_ 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰…

20240729 每日AI必读资讯

Meta科学家最新采访&#xff0c;揭秘Llama 3.1是如何炼成的 - Llama 3.1都使用了哪些数据&#xff1f;其中有多少合成数据&#xff1f;为什么不使用MoE架构&#xff1f;后训练与RLHF流程是如何进行的&#xff1f;模型评估是如何进行的&#xff1f; - 受访者Thomas Scialom现任…

ReactHooks(二)

上期在这~ ReactHooks【二】 一.useReducer1.1 useReducer 的语法格式1.2 定义组件的基础结构1.3 定义 useReducer 的基础结构1.3.1按需导入 useReducer 函数1.3.2定义初始数据1.3.3 定义 reducer 函数根据旧状态&#xff0c;进行一系列处理&#xff0c;最终返回新状态&#x…

Go语言教程(一看就会)

全篇文章 7000 字左右&#xff0c; 建议阅读时长 1h 以上。 Go语言是一门开源的编程语言&#xff0c;目的在于降低构建简单、可靠、高效软件的门槛。Go平衡了底层系统语言的能力&#xff0c;以及在现代语言中所见到的高级特性。它是快速的、静态类型编译语言。 第一个GO程序…

嵌入式人工智能(32-基于树莓派4B的旋转编码器-EnCoder11)

1、旋转编码器 旋转编码器是一种输入设备&#xff0c;通常用于测量和控制旋转运动。它由一个旋转轴和一系列编码器组成。旋转编码器可以根据旋转轴的位置和方向来测量旋转角度&#xff0c;并将其转化为电子信号输出。 旋转编码器通常分为两种类型&#xff1a;绝对值编码器和增…

【ai】Easy-RAG 4: 修复依赖项:numpy numba omegaconf 等

numpy 2.0.1 这个版本太高了 chromadb 0.5.5 requires numpy<2.0.0,>=1.22.5,but you have numpy 2.0.1 which is incompatible.gradio 4.29.0 requires numpy~=1.0, but you have numpy 2.0.1 which is incompatible.langchain 0.2.6 requires numpy<2,>=1; pytho…

力扣面试题(一)

1、给你两个字符串 word1 和 word2 。请你从 word1 开始&#xff0c;通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长&#xff0c;就将多出来的字母追加到合并后字符串的末尾。 char * mergeAlternately(char * word1, char * word2){int len1 strlen(word1);i…

嵌入式学习Day13---C语言提升

目录 一、二级指针 1.1.什么是二级指针 2.2.使用情况 2.3.二级指针与数组指针 二、指针函数 2.1.含义 2.2.格式 2.3.注意 2.4.练习 三、函数指针 3.1.含义 3.2.格式 3.3.存储 3.4.练习 ​编辑 四、void*指针 4.1.void缺省类型 4.2.void* 4.3.格式 4.4.注…

H3CNE(OSPF动态路由)

目录 7.1 静态路由的缺点与动态路由分类 7.1.1 静态路由的缺点 7.1.2 动态路由的分类 7.2 OSPF基础 7.2.1 OSPF的区域 ​编辑 7.2.2 Router-id 7.2.3 开销-Cost or Metric 7.2.4 路由转发 7.3 OSPF邻居表建立过程 7.3.1 五种包 7.3.2 建立邻居表的第一步 7.3.3 邻居建立…

模拟实现短信登录功能 (session 和 Redis 两种代码实例) 带前端演示

目录 整体流程 发送验证码 短信验证码登录、注册 校验登录状态 基于 session 实现登录 实现发送短信验证码功能 1. 前端发送请求 2. 后端处理请求 3. 演示 实现登录功能 1. 前端发送请求 2. 后端处理请求 校验登录状态 1. 登录拦截器 2. 注册拦截器 3. 登录完整…

RocketMQ事务消息机制原理

RocketMQ工作流程 在RocketMQ当中&#xff0c;当消息的生产者将消息生产完成之后&#xff0c;并不会直接将生产好的消息直接投递给消费者&#xff0c;而是先将消息投递个中间的服务&#xff0c;通过这个服务来协调RocketMQ中生产者与消费者之间的消费速度。 那么生产者是如何…

C++里memset的使用

在C中使用memset函数涉及几个关键点&#xff0c;‌包括函数的正确调用方式、‌参数的理解以及注意事项。‌memset函数是C和C语言标准库中的一个函数&#xff0c;‌用于将内存区域设置为特定的值。‌它的基本语法如下&#xff1a;‌ void *memset(void *s, int c, size_t n); …

集合论与存在性证明问题的分类

集合论是数学的一个重要分支&#xff0c;主要研究集合及其性质、关系以及操作等。关于集合论与存在性证明问题的分类&#xff0c;可以从多个角度进行阐述。 一、集合论的分类 基础集合论 研究集合的基本概念和性质&#xff0c;包括集合的定义、集合的元素关系、集合的操作、…