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

鸿蒙ArkTS中的image组件

  开发文档很详尽,就在DevEco中的API参考,可以随时调出来进行学习。

  在鸿蒙官网也有非常详尽的资料,地址:开发说明-API参考概述 - 华为HarmonyOS开发者 (huawei.com)

  这里,就学习image组件的一般用法以及使用SVG图标和字体图标,使用SVG图标和字体图标在于图标放大与缩小不失真,可以随意变换颜色。

  鸿蒙HarmonyOS NEXT中的image组件一般性用法:

  1、图片使用网络地址

        Image('http://11.22.33.44/common/banner.jpg')
          .width(270).height(130)
          .onError((error) => {
            console.error('图片加载错误:', error);
            return Text('图片加载失败');
          })

  这种方式涉及到跨越和网络访问权限,需要在module.json5中配置网络访问权限:

"module": {
  "requestPermissions": [
    {
      "name": "ohos.permission.INTERNET"
    }
  ]
}

  在“module”对象中中加入请求权限的属性。

  这种方式不推荐使用。

  2、使用本地图片

  在鸿蒙 ArkTS 中,“./” 表示当前目录,“../” 表示上一级目录。

  ① ./:表示当前目录。使用 ./ 时,意味着文件位于当前工作目录中。
  ② ../:表示上级目录。使用 ../ 时,意味着文件位于当前工作目录的上一级目录中。

  如果不想遇到麻烦,可以将图形文件拷贝到media目录下再使用。

  今天使用image组件遇到各种怪问题,加上预览刷新很慢,很耗时间。

  3、使用svg格式图片

  可以使用华为的图标库下载对应的图标。

  地址:HarmonyOS 主题图标库 | icon素材免费下载 | 华为开发者联盟 (huawei.com)icon-default.png?t=O83Ahttps://developer.huawei.com/consumer/cn/design/harmonyos-icon/

Image($r('app.media.ic_contacts_business_cards')).width(160).fillColor(Color.Red)
Image($r('app.media.ic_device_matebook_filled')).width(60).fillColor(Color.Blue)

  4、使用字体图标

  可以使用阿里巴巴的字体图标。

  地址:iconfont-阿里巴巴矢量图标库iconfont-国内功能很强大且图标内容很丰富的矢量图标库,提供矢量图标下载、在线存储、格式转换等功能。阿里巴巴体验团队倾力打造,设计和前端开发的便捷工具icon-default.png?t=O83Ahttps://www.iconfont.cn/search/index?searchType=icon&q=%E9%80%89%E6%8B%A9&page=2&fromCollection=-1

  ⑴下载字体文件

  ⑵解压缩文件,将解压缩的文件复制到一个目录。

  我在ets目录下新建了一个名为iconfont目录,将文件拷贝到了该目录下。

  ⑶注册字体

    aboutToAppear(): void {
        //注册字体
        font.registerFont({
            familyName:'myfont',
            familySrc:'/iconfont/iconfont.ttf'
        })
    }

  ⑷使用字体图标

Text('\ue613').fontFamily('myfont').fontSize(16).fontColor(Color.Red)

  图片的大小通过设置字体大小来改变,颜色可以通过设置字体颜色来改变。

  今天看了鸿蒙的参考文档,image有很多的用法,文档资料很全,但是也遇到了很多奇怪的问题,最主要的就是测试起来运行很慢,我尝试着修改配置效果也不明显。

  还需要进一步的学习。


http://www.kler.cn/a/376190.html

相关文章:

  • LDA 线性分类
  • SQL Server身份验证模式
  • Python的全局锁GIL解析
  • 单链表的基本操作实现
  • 【实践功能记录8】使用UseElementSize实现表格高度自适应
  • 安卓13默认连接wifi热点 android13默认连接wifi
  • 代码随想录算法训练营第四十一天 | 01背包问题(二维),01背包问题(一维),416.分割等和子集
  • 分布式和微服务系统区别
  • SpringBoot助力大型商场应急预案自动化
  • C语言日记 2024年11月2日
  • 利士策分享,锚定未来:稳健规划人生
  • git reset 删除错误提交
  • 【Python爬虫实战】网络爬虫完整指南:HTTP/HTTPS协议与爬虫安全实践
  • 博物馆3D数字化的优势有哪些?
  • ArcGIS Pro SDK (二十)流图层
  • 【Android】初始路由框架及ARouter原理
  • 基于Matlab GUI的说话人识别测试平台
  • 一般无人机和FPV无人机的区别
  • 使用 MMDetection 实现 Pascal VOC 数据集的目标检测项目练习(二) ubuntu的下载安装
  • 【算法】奇数在偶数后、反转字符串中的单词
  • 仿真工具Modelsim和QuestaSim有什么区别?
  • 摄像机实时接入分析平台LiteAIServer视频智能分析软件诊断噪声检测
  • 利用Claude制作web小游戏(一):俄罗斯方块
  • 【Linux第七课--基础IO】内存级文件、重定向、缓冲区、文件系统、动态库静态库
  • JavaScript 进阶 - 第2天 (黑马笔记)
  • 数字后端零基础入门系列 | Innovus零基础LAB学习Day7