本文演示如果用HarmonyOS的ArkUI来调用已经上架到三方库中心的社区库。体验HarmonyOS 3最新的API 9,欢迎大家一起参与构建这个万物互联的时代!

活动主页

HarmonyOS线上Codelabs挑战赛已经开启,该系列挑战赛将围绕HarmonyOS的基础组件和容器组件、三方库和数据库等技术特性展开,开发者们可以通过体验基于HarmonyOS特性和能力的应用开发,快速构建有趣、有用的应用程序。

有兴趣的朋友一起参与吧。

活动主页:

华为开发者论坛

获取HarmonyOS应用源码

HarmonyOS的ArkUI来调用社区库的程序“ArkUIThirdPartyLibrary”,全部代码可以在《跟老卫学HarmonyOS开发》项目中找到(链接见文末“参考引用”)。有兴趣的网友可以clone该代码到本地进行运行、测试、修改。

接下来将介绍该购物应用程序“ArkUIThirdPartyLibrary”是如何实现的。

通过DevEco Studio 3创建应用

有关DevEco Studio 3的安装配置,可以参考前文《玩转HarmonyOS 3必装DevEco Studio 3,注意避弹》这里就不在赘述。

首选是打开DevEco Studio 3,可以看到如下界面。

点击“Create Project”来创建ArkUI程序“ArkUIThirdPartyLibrary”。

选择模板

选择空模板Empty Ability,点击“Next”执行下一步。

配置项目

配置项目信息,重要是以下圈中部分。其他配置按照默认配置即可。点击“Finish”执行下一步。

程序初始化完成之后,就能在该程序基础上进行代码开发、运行。

运行HarmonyOS应用

打开Device Manager

登入华为账号

点击“Sign In”登入个人注册的华为账号。如果没有,则参考本文最后的链接进行注册。

启动远程模拟器

运行应用

点击下命的三角形按钮以启动应用

应用运行效果图如下。

完善代码

在空模板的基础上,我们初步添加业务代码,来最终实现程序。

安装PhotoView组件

PhotoView是一款三方库,实现了图片缩放浏览组件,图片可缩放,平移,旋转。执行下面语句进行安装。

npm install @ohos/photoview –save复制

安装完成之后,可以看到在package.json中已经自动添加了PhotoView的依赖:

要使用PhotoView,只需要导入PhotoView的包

import {PhotoView} from '@ohos/photoview';复制

实现图片缩放

在Index页面中,添加如下代码:

import {PhotoView} from '@ohos/photoview';@Entry
@Component
struct Index {@State data: PhotoView.Model = new PhotoView.Model();@State data1: PhotoView.Model = new PhotoView.Model();@State data2: PhotoView.Model = new PhotoView.Model();private swiperController: SwiperController = new SwiperController()aboutToAppear() {this.data.setImageResource($r('app.media.harmony'))this.data1.setImageResource($r('app.media.harmony1'))this.data2.setImageResource($r('app.media.harmony2'))}build() {Column() {Swiper(this.swiperController) {PhotoView({model: this.data})PhotoView({model: this.data1})PhotoView({model: this.data2})}.index(0).autoPlay(true) // 自动播放.indicator(true) // 默认开启指示点.loop(true) // 默认开启循环播放.duration(50).vertical(true) // 默认横向切换.itemSpace(0).onChange((index: number) => {this.data.resetMatrix()this.data1.resetMatrix()this.data2.resetMatrix()console.info("ViewPager"+index.toString())})}.height('100%').width('100%').backgroundColor(0x3d3d3d)}
}
复制

上述代码实现了图片的自动播放、循环播放、横向切换等功能。其中图片资源放置在media目录下。

程序运行效果

完整演示视频见B站:【老卫搬砖】026期:用HarmonyOS ArkUI调用三方库PhotoView实现图片的联播、缩_哔哩哔哩_bilibili

相关问题

问题:@ohos/photoview not found

报错信息如下:

>npm install @ohos/photoview --savenpm ERR! code E404npm ERR! 404 Not Found - GET https://registry.npmmirror.com/@ohos%2fphotoview - [NOT_FOUND] @ohos/photoview not foundnpm ERR! 404npm ERR! 404 '@ohos/photoview@latest' is not in the npm registry.npm ERR! 404 You should bug the author to publish it (or use the name yourself!)npm ERR! 404npm ERR! 404 Note that you can also install from anpm ERR! 404 tarball, folder, http url, or git url.npm ERR! A complete log of this run can be found in:npm ERR! C:\Users\wayla\AppData\Roaming\npm-cache\_logs\2022-11-13T13_13_32_065Z-debug.log复制

解决方法:

设置npm的镜像

npm config set @ohos:registry=https://repo.harmonyos.com/npm/复制

源码

见 https://github.com/waylau/harmonyos-tutorial 中的“ArkUIThirdPartyLibrary”

参考引用

  • 《跟老卫学HarmonyOS开发》 开源免费教程,https://github.com/waylau/harmonyos-tutorial
  • 《鸿蒙 HarmonyOS 应用开发从入门到精通战》(柳伟卫著,北京大学出版社)《鸿蒙HarmonyOS应用开发从入门到精通》(柳伟卫)【摘要 书评 试读】- 京东图书、《鸿蒙HarmonyOS应用开发从入门到精通 柳伟卫著》(柳伟卫)【简介_书评_在线阅读】 - 当当图书
  • 玩转HarmonyOS 3必装DevEco Studio 3,注意避弹 华为开发者论坛
  • OpenHarmony-SIG/PhotoView

用HarmonyOS ArkUI调用三方库PhotoView实现图片的联播、缩放相关推荐

  1. 两台电脑串口传输文件及调用opencv库编程显示图片和文本

    文章目录 一.两台电脑利用串口进行文件传输 (一).实验内容 (二).配置环境 (三).实验过程 (四).结果分析 二.在Ubuntu下基于Linux环境调用opencv库编程显示图片和文本 (一). ...

  2. 用开源项目PhotoView实现图片的双指缩放和双击放大缩小

    项目地址:https://github.com/chrisbanes/PhotoView 用开源项目有个好处,一是实现简单,二是bug少.那么我们就来说下这个项目能够实现的效果: 1.单个图片的双指缩 ...

  3. 在Ubuntu调用opencv库编程显示图片并叠加文字

    一.汉字编码介绍 (一)区位码 (二)机内码 (三)点阵字库储存 (四)汉字点阵获取 二.操作步骤 (一)操作环境 OpenCV (二)实验准备 (1)下载中文点阵字库及显示工具程序 (2)将所需文件 ...

  4. c语言 调用 .cpp,C语言三方库的调用和编写

    1. 三方库相关指令 gcc -l -l 参数就是用来指定程序要链接的库,-l 参数紧接着就是库名,那么库名跟真正的库文件名有什么关系呢?就拿数学库来说,他的库名是 m,他的库文件名是 libm.so ...

  5. C语言三方库的调用和编写

    1. 三方库相关指令 gcc -l -l 参数就是用来指定程序要链接的库,-l 参数紧接着就是库名,那么库名跟真正的库文件名有什么关系呢?就拿数学库来说,他的库名是 m,他的库文件名是 libm.so ...

  6. C++调用Python及间接调用Python三方库

    本文章目的是脱离安装Python环境的前提下,由C++程序调用Python程序及Python相关三方库 1.移植Python解释器 Python环境的目录结构 红色部分是生成路径下解释器运行时依赖 将 ...

  7. android开发打开第三方库,Android开发NDK调用三方so库

    概要 在日常开发中,android NDK的作用无外乎有两种:一种是通过调用底层C/C++的算法,提高app的运行效率:另一种则是通过C/C++的特性,或者和驱动交互等,实现一些功能性的需求.接下来将 ...

  8. c#和Python交互,完美解决Python调用OpenCV等第三方库以及分发时需配置python环境的问题

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.问题分析 二.解决方案 第一个问题 第二个问题 三.结果及源码 四.总结 前言 关于C#如何调用Python,网上 ...

  9. PhotoView——支持图片缩放、平移、旋转的一个优雅的三方组件

    目录 简介 使用场景 效果展示 ​编辑 开发环境 如何使用 demo源码及文件结构 类结构 相关方法 结语 简介 PhotoView是OpenAtom OpenHarmony(简称"Open ...

  10. Go 知识点(12) — 类型转换以三方库 cast

    类型转换在编程语言中是很常见的操作,在 Go 语言中其类型转换有下面一些注意点. 1. 整数类型之间的转换 对于整数类型转换,原则上目标类型的取值范围要包含被转换值,也就是说要转换类型的值取值范围要小 ...

最新文章

  1. Linux top命令常见使用
  2. python局域网传输文件_Python+pyftpdlib实现局域网文件互传
  3. 【杂谈】如果你想快速系统掌握计算机视觉大部分领域,学习人脸图像是唯一选择...
  4. [机器学习]AutoML --- NNI (Microsoft)
  5. oracle创建一个表同已存在表结构一样
  6. 亚特兰大峰会精彩看点:软件吞噬世界,OpenStack是变革核心
  7. 繁体字_学认繁体字?你可能是低估了汉字的难度
  8. 嘉立创PCB CAM软件
  9. 【python】实战:“唱啥”app后台开发
  10. 【Scratch】青少年蓝桥杯_每日一题_3.01_画莲花
  11. 安装nodejs遇到的坑
  12. 如何在Mac上设置iCloud
  13. linux lilo命令,lilo命令_Linux lilo命令使用详解:安装核心载入开机管理程序
  14. 现在俏皮话越来越多了
  15. uva 11584 dp
  16. M1 芯片开发环境搭建全记录 ——虚拟机、 Java、Go、Python、Web
  17. 双非渣本,他是如何逆袭拿到3W高薪
  18. Log4j日志框架介绍
  19. python爬虫携程酒店_携程酒店爬取分享
  20. C语言成绩统计源代码,C语言课程设计学生成绩管理系统+源码

热门文章

  1. 我们距离下一个超高清时代还有多久?
  2. 视频号带货如何设置?视频挂链接,直播如何加商品?
  3. Linux命令-cat
  4. 二、数据库的安装部署
  5. AB控制器 L36ERM_2个处理器之间的通讯
  6. 2017-2018-1 201553334 实验四 外设驱动程序设计
  7. conda: error: invalid choice
  8. linux写文件内存不释放,linux频繁存取文件内存不释放问题
  9. MacBook入手前知识
  10. Scala中的集【Set】、映射【Map】、迭代器【iterator】