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

HarmonyOS NEXT仓颉开发语言实战案例:图片预览器

上文分享了如何使用仓颉语言实现动态广场,动态广场中有很多图片,本文一下如何使用仓颉语言实现一个图片放大预览器:

看到这个效果,我首先想到的实现方案是弹窗,弹窗的弹出和消失效果为我们节省了很多工作,这里使用的是CustomDialogController。

我们首先实现弹窗内容组件,图片预览可能会有不同数量的图片,我们要做好适配,还要实现翻页效果,所以使用swiper容器最为合适,具体代码如下,大家要注意接收参数的定义和弹窗点击关闭代码的写法:

package ohos_app_cangjie_entry
import ohos.base.*
import ohos.component.*
import ohos.state_manage.*
import ohos.state_macro_manage.*
import cj_res_entry.app
import std.collection.ArrayList
@CustomDialog
public  class imgdialog {var controller: Option<CustomDialogController> = Option.None@Prop var imgList:ArrayList<CJResource>func build() {Swiper(){ForEach(imgList, itemGeneratorFunc: {img:CJResource,index:Int64 =>Image(img).width(100.percent).height(100.percent).objectFit(ImageFit.Contain)})}.width(100.percent).height(100.percent).backgroundColor(Color(0, 0, 0, alpha: 0.6)).onClick({e =>controller.getOrThrow().close()})}
}

回到动态广场,这里要先初始化弹窗对象,并且传入图片列表:

@State var imglist:ArrayList<CJResource> = ArrayList<CJResource>()
var dialogController: CustomDialogController = CustomDialogController(CustomDialogControllerOptions(builder: imgdialog(imgList:imglist),customStyle:true,autoCancel:true
))

在弹窗的配置参数中,设置customStyle为true可以使弹窗全屏展示。最后在点击图片的时候打开弹窗:

imglist = item.getImages()dialogController.open()

今天的内容分享完啦,感谢大家阅读。##HarmonyOS语言##仓颉##休闲娱乐#

相关文章:

HarmonyOS NEXT仓颉开发语言实战案例:图片预览器

上文分享了如何使用仓颉语言实现动态广场&#xff0c;动态广场中有很多图片&#xff0c;本文一下如何使用仓颉语言实现一个图片放大预览器&#xff1a; 看到这个效果&#xff0c;我首先想到的实现方案是弹窗&#xff0c;弹窗的弹出和消失效果为我们节省了很多工作&#xff0c;这…...

Rust代码规范之蛇形命名法和驼峰命名法

Rust 使用两种主要的命名风格&#xff1a;驼峰命名法&#xff08;UpperCamelCase&#xff09;和蛇形命名法&#xff08;snake_case&#xff09;。通常&#xff0c;类型&#xff08;如结构体、枚举、特征&#xff09;使用驼峰命名法&#xff0c;而变量、函数、方法等使用蛇形命名…...

cocos creator 3.8 - 精品源码 - 六边形消消乐(六边形叠叠乐、六边形堆叠战士)

cocos creator 3.8 - 精品源码 - 六边形消消乐 游戏介绍功能介绍免费体验下载开发环境游戏截图免费体验 游戏介绍 六边形堆叠战士(六边形消消消)是一款脱胎于2048、1010&#xff0c;基于俄罗斯方块的魔性方块达人小游戏&#xff0c;可以多方向多造型消除哦&#xff01; 功能介…...

(七)Spring Web

Spring Web 是 Spring Framework 的一部分&#xff0c;专门用于构建 Web 应用程序。Spring Web 提供了一个强大的基础设施&#xff0c;用于开发 Web 服务、Web 应用程序和 RESTful API。它包括许多模块和组件&#xff0c;帮助开发人员轻松地构建、配置和管理 Web 应用程序。 以…...

计算机操作系统(十七)内存管理

计算机操作系统&#xff08;十七&#xff09;内存管理 前言一、内存的使用与程序重定位&#xff08;一&#xff09;内存是什么&#xff1f;&#xff08;二&#xff09;程序的重定位过程&#xff08;三&#xff09;总结&#xff1a;内存使用的核心问题 二、连续分区管理&#xf…...

Java 大视界 -- Java 大数据机器学习模型在金融市场高频交易策略优化与风险控制中的应用(327)

Java 大视界 -- Java 大数据机器学习模型在金融市场高频交易策略优化与风险控制中的应用&#xff08;327&#xff09; 引言&#xff1a;正文&#xff1a;一、Java 驱动的高频交易数据处理架构1.1 边缘 - 中心协同数据接入系统&#xff08;SEC 17a-4 合规&#xff09;1.2 多市场…...

Idea 项目远程开发 Remote Development

个人建议&#xff1a;Remote Development 使用体验不佳&#xff0c;不推荐。实际远程开发受限于网络通信速度&#xff0c;在开发时&#xff0c;基本无法SSH更新项目内容。 1. File -> Remote Development 2. New Connection Connect to SSH Connection 3. Project director…...

【驱动设计的硬件基础】CPLD和FPGA

在数字电路设计领域&#xff0c;CPLD&#xff08;复杂可编程逻辑器件&#xff09;和 FPGA&#xff08;现场可编程门阵列&#xff09;堪称 “变形金刚” 般的存在。它们既能像 ASIC&#xff08;专用集成电路&#xff09;一样实现硬件加速&#xff0c;又能通过软件编程快速迭代功…...

JavaScript中Object()的解析与应用

在JavaScript中&#xff0c;Object() 是一个基础构造函数&#xff0c;用于创建对象或转换值为对象类型。它既是语言的核心组成部分&#xff0c;也提供了一系列静态方法用于对象操作。以下是详细解析和应用示例&#xff1a; 一、Object() 的基本行为 作为构造函数&#xff08;…...

Spring Cloud 微服务(负载均衡策略深度解析)

&#x1f4cc; 摘要 在微服务架构中&#xff0c;负载均衡是实现高可用、高性能服务调用的关键机制之一。Spring Cloud 提供了基于客户端的负载均衡组件 Ribbon&#xff0c;结合 Feign 和 OpenFeign&#xff0c;实现了服务间的智能路由与流量分配。 本文将深入讲解 Spring Clo…...

从单体架构到微服务:微服务架构演进与实践

一、单体架构的困境与演进 &#xff08;一&#xff09;单体应用的初始优势与演进路径 在系统发展的初期&#xff0c;单体架构凭借其简单性和开发效率成为首选。单体应用将整个系统的所有功能模块整合在一个项目中&#xff0c;以单一进程的方式运行&#xff0c;特别适合小型系…...

Infineon AURIX TriCore TC3xx芯片内存专题报告

作者: DBGAUTOMAN 日期: 2025-06-28 摘要 本报告旨在深入分析Infineon AURIX TriCore TC3xx系列微控制器的内存架构。通过对官方技术文档的系统性研究,报告详细阐述了TC3xx的内存配置、架构设计、存储器技术特性、系统级内存管理以及性能优化策略,为相关技术开发和系统设计…...

WPF中获取主窗体

在WPF的MVVM模式中&#xff0c;通常不直接引用主窗体&#xff08;MainWindow&#xff09;&#xff0c;而是通过依赖注入、事件聚合器或命令参数传递等方式实现逻辑解耦。以下是几种推荐方法&#xff1a; 方法1&#xff1a;依赖注入&#xff08;推荐&#xff09; 在ViewModel中…...

【龙泽科技】新能源汽车故障诊断仿真教学软件【吉利几何G6】

产品简介 新能源汽车故障诊断仿真教学软件是依托《全国职业院校技能大赛》“新能源汽车维修”赛项中“新能源汽车简单故障诊断与排除” 竞赛模块&#xff0c;自主开发的一款仿真教学软件。软件采用仿真技术模拟实际的新能源汽车故障诊断过程&#xff0c;主要通过对新能源汽车常…...

SpringBoot -- 以 jar 包运行(以及常见错误分析)

7.SpringBoot 以 jar 包运行 打包 在打包之前先要导入一个maven项目的打包插件&#xff0c;使用 springInitializr 创建的 maven 项目&#xff0c;已经自动导入了。如果没有需要手动导入。将下面代码&#xff0c;放进 Pom.xml 里面即可。 <build><plugins><p…...

求职招聘小程序源码招聘小程序搭建招聘小程序定制开发

身份&#xff1a;求职者、企业 求职者&#xff1a;完善简历&#xff0c;简历投递 企业&#xff1a;企业入驻&#xff0c;查看简历 企业会员&#xff1a;半年 、年度 权益&#xff1a;每日发布条数、刷新条数&#xff0c;简历下载数量 聊天&#xff1a;求职者可以和企业聊…...

Day44 预训练模型

目录 一、预训练的概念 二、常见的分类预训练模型 2.1 CNN架构预训练模型 2.2 Transformer类预训练模型 2.3 自监督预训练模型 三、图像预训练模型的发展史 四、预训练的策略 五、预训练代码实战&#xff1a;resnet18 六、尝试在cifar10对比alexnet 七、尝试通过ctrl进…...

【菜狗的记录】模糊聚类最大树、图神经网络、大模型量化——20250627

每日学习过程中记录的笔记&#xff0c;从各个网站整理下来&#xff0c;用于当日复盘。 如果其中的知识点能帮到你&#xff0c;也很荣幸呀。 -------------------------------------------------------20250622------------------------------------------------------------- …...

【Linux 设备模型框架 kobject 和 kset】

Linux 设备模型框架 kobject 和 kset 一、Linux 设备模型概述二、kobject 与 kset 的核心概念1. kobject2. kset3. 关键数据结构 三、kobject 与 kset 的实现源码四、源码解析与使用说明1. kset 的创建与初始化2. kobject 的创建与属性3. sysfs 属性操作4. 用户空间访问示例 五…...

leetcode.2014 重复k次的最长子序列

题目描述 解题思路 这一题本来在想怎么样做才能获得通用解&#xff0c;因为乍一看总感觉遍历的时间代价会非常高。直到后面看到提示&#xff1a; 提示里面专门包含了一个n < k * 8&#xff0c;这太反常了。后面仔细一想&#xff0c;有道理&#xff0c;最后答案的字符个数一定…...

机器学习3——参数估计之极大似然估计

参数估计 问题背景&#xff1a; P ( ω i ∣ x ) p ( x ∣ ω i ) P ( ω i ) p ( x ) p ( x ) ∑ j 1 c p ( x ∣ ω j ) P ( ω j ) \begin{aligned} & P\left(\omega_i \mid \mathbf{x}\right)\frac{p\left(\mathbf{x} \mid \omega_i\right) P\left(\omega_i\right)…...

利用python实现NBA数据可视化

大家好&#xff0c;今天我们利用python爬取NBA球星每年的比赛数据并进行可视化展示。主要用到三个模块&#xff1a;xpath、matplotlib。其中xpth负责爬取网站上的信息。Matplotlib是Python开发人员常用的Python绘图库&#xff0c;可以用来绘制各种2D图形&#xff0c;具有绘图质…...

杭州西湖断桥不断:3D扫描还原‘残雪‘视觉骗局

“断桥残雪”是西湖十景之一&#xff0c;所谓“视觉骗局”指的是在特定条件下&#xff0c;从远处看断桥仿佛断开的奇妙视觉效果。利用3D扫描技术还原这一效果可按以下步骤进行&#xff1a; 数据采集 3D扫描断桥&#xff1a;使用高精度的3D激光扫描仪对断桥及其周边环境进行全面…...

Dubbo服务调用超时问题解决方案

Dubbo服务调用超时问题解决方案 Dubbo服务调用超时通常由网络延迟、服务端性能瓶颈、配置不当或资源竞争引发。以下解决方案基于根本原因分类&#xff0c;优先采用高可信度实践&#xff1a; &#x1f50d; 一、排查问题根源 网络诊断 使用 ping、telnet 检查服务提供者网络连…...

视觉疲劳检测如何优化智能驾驶的险情管理

视觉分析疲劳检测在智能驾驶中的应用研究 一、背景与需求 近年来&#xff0c;智能驾驶领域因疲劳驾驶引发的交通事故频发&#xff0c;如2025年某品牌智能汽车因驾驶员疲劳导致高速追尾事件&#xff0c;暴露了现有技术对复杂场景的适应不足。传统疲劳检测依赖单一生理信号或车…...

C++ 第三阶段 并发与异步 - 第二节:异步任务(std::async)

目录 一、std::async 概述 1. std::async 的定义 二、std::async 的基本用法 1. 基本语法 (1) 函数调用 (2) Lambda 表达式 三、执行策略详解 1. std::launch::async 2. std::launch::deferred 3. 默认策略&#xff08;std::launch::any&#xff09; 四、std::futur…...

OpenCV图像添加水印

一、前言 在数字图像处理中&#xff0c;为图片添加水印是一项常见且重要的技术。无论是版权保护、品牌宣传还是防止未经授权的使用&#xff0c;水印都能发挥重要作用。OpenCV作为一款强大的计算机视觉库&#xff0c;提供了丰富的功能来实现各种水印效果。本教程将详细介绍如何…...

Linux信号机制:从入门到精通

嘿&#xff0c;小伙伴们&#xff01;今天我要和大家聊一个Linux系统中非常有趣又重要的话题——信号机制。别担心&#xff0c;虽然信号听起来有点高深&#xff0c;但我会用最通俗易懂的语言&#xff0c;配合清晰的图表&#xff0c;带你彻底搞懂这个概念&#xff01; 什么是信号…...

EXCEL数据报表

客单价成交金额*成交客户数 —— 提取年份 YEAR() 视图-窗口-新建窗口&#xff0c;就能将excel的一个子表格单拎出来成为独立窗口&#xff0c;方便对比查看 数据报表的单元格尽量都用公式来填补&#xff0c;链接到源表上去。这样当源表有新数据更新进来后&#xff0c;报表也…...

openGL学习(VAO和VBO)

理论 VBO void prepare() {//创建一个VBO,但是还没有分配显存GLuint vbo 0;GL_CALL( glGenBuffers(1, &vbo));cout << "vbo " << vbo << endl;//销毁一个VBOGL_CALL(glDeleteBuffers(1, &vbo));cout << "delete vbo "…...

【请关注】制造企业机械加工数据脱敏解决方案

制造企业机械加工数据脱敏解决方案 一、方案概述 在制造企业尤其是机械加工领域,数字化转型带来了生产效率的大幅提升,大量生产数据、设备运行数据、供应链数据以及客户订单数据等成为企业发展的关键驱动力。然而,这些数据中包含众多敏感信息,如客户定制产品的设计图纸(…...

2025.6.27总结

最近工作又开始内耗了&#xff0c;一位同事的转岗直接让我破防了&#xff0c;明明他工作干得很不错&#xff0c;会得又多&#xff0c;性格又好&#xff0c;我还经常请教他业务上的问题。我和他的关系并不算太好&#xff0c;但他加入其他部门&#xff0c;竟然让我有些不舍&#…...

Python打卡:Day38

知识点回顾&#xff1a; Dataset类的__getitem__和__len__方法&#xff08;本质是python的特殊方法&#xff09;Dataloader类minist手写数据集的了解 浙大疏锦行...

Ubuntu18.04/Mysql 5.7 建立主备模式Mysql集群

一、数据库的安装 详见https://www.jianshu.com/p/5073177eedf2 本文实验环境为阿里云的两台ubuntu18.04服务器&#xff1a; master ip: 172.26.138.7 slave ip: 172.26.0.209 二、修改Master的配置(# 的行是我后增加的部分)&#xff1a; 编辑 /etc/mysql/mysql.conf.d/mysqld.…...

Linux journal 日志大小限制与管理详解

文章目录 Linux journal 日志大小限制与管理详解journal 日志的默认存储位置journal 日志大小限制配置查看当前日志占用情况手动清理日志文件按大小清理日志按时间清理日志按文件数清理日志 journald 日志机制原理简析&#xff08;适当加点原理&#xff09;日志筛选与导出技巧&…...

Linux基本指令篇 —— tac指令

tac 是 Linux 系统中一个非常实用的文本处理命令&#xff0c;它是 cat 命令的反向操作&#xff08;名称也是 "cat" 的反写&#xff09;。tac 是一个简单但功能强大的工具&#xff0c;特别适合需要反向处理文本数据的场景&#xff1a; 目录 一、基本功能 二、基本语法…...

【Yonghong 企业日常问题08 】永洪BI的Apache Tomcat版本升级指南

文章目录 前言操作步骤登录验证 前言 某公司业务永洪BI系统使用tomcat 9.0.97版本&#xff0c;接到总公司漏洞扫描整改要求需要将tomcat版本升级到9.0.97以上。 目标&#xff1a;tomcat 9.0.97》 9.0.98 1、下载tomcat所需要的版本 地址:https://tomcat.apache.org/download-…...

动手学Python:从零开始构建一个“文字冒险游戏”

动手学Python&#xff1a;从零开始构建一个“文字冒险游戏” 大家好&#xff0c;我是你的技术向导。今天&#xff0c;我们不聊高深的框架&#xff0c;也不谈复杂的算法&#xff0c;我们来做一点“复古”又极具趣味性的事情——用Python亲手打造一个属于自己的文字冒险游戏&…...

【C/C++】C++26新特性前瞻:全面解析未来编程

展望未来&#xff1a;C26 新特性全面解析 随着 C 标准每三年一次的迭代节奏&#xff0c;C26&#xff08;预计于 2026 年底正式发布&#xff09;正在逐步成型。相比 C20 的革命性更新和 C23 的“修补增强”&#xff0c;C26 继续推进现代 C 的理念——更安全、更高效、更模块化&…...

Linux系统日志与守护进程开发实战指南

Linux系统日志与守护进程开发实战指南 系统日志与守护进程 ├── 系统日志syslog │ ├── 日志路径: /var/log/syslog │ └── 核心API │ ├── openlog │ ├── syslog │ └── closelog └── 守护进程daemon└── 创建步骤├── um…...

兰洋科技上合组织论坛发表专题分享,全球液冷布局引领绿色算力未来

2025年6月17-19日&#xff0c;中国—上海合作组织数字技术合作发展论坛在新疆克拉玛依市举办。作为第四次上海合作组织成员国信息通信技术发展部门负责人会议的配套会议&#xff0c;论坛以“数字化转型助力可持续发展&#xff0c;数字包容促进上合共同繁荣”为主题&#xff0c;…...

桌面小屏幕实战课程:DesktopScreen 11 SPI 水墨屏

飞书文档https://x509p6c8to.feishu.cn/docx/doxcnlzpIgj3gosCZufBTCZxlMb SPI说明 SPI是串行外设接口&#xff08;Serial Peripheral Interface&#xff09;的缩写&#xff0c;是一种高速的&#xff0c;全双工&#xff0c;同步的通信总线&#xff0c;并且在芯片的管脚上占用…...

小知识点五、无刷电机闭环控制(电流)

0 前言 该部分只用于自学使用&#xff0c;作为笔记方便后续自查。 资料参考&#xff1a;http://dengfoc.com 硬件&#xff1a;2208云台电机MT6701磁编码器 1 电流控制理论 1.1 待解决的问题 简单回顾一下在之前的学习中&#xff0c;我们通过 U q U_q Uq​和电角度 θ \the…...

Java 编程之备忘录模式

前言 有时候&#xff0c;我们真希望人生能有“CtrlZ”。在日常生活中&#xff0c;我们经常使用“撤销”功能&#xff0c;例如在写 Word、画图、写代码时一不小心操作失误&#xff0c;就希望能回到之前的状态。这种**“状态快照 恢复”**机制&#xff0c;在设计模式中就叫做&a…...

SQL SERVER存储过程

什么是存储过程 SQL 存储过程&#xff08;Stored Procedure&#xff09;是一个在数据库中预编译并存储的一组 SQL 语句。它们可以包含查询、插入、更新、删除等数据库操作&#xff0c;甚至包括控制流语句&#xff08;如条件判断、循环等&#xff09;。存储过程可以通过调用来执…...

Vue样式绑定与条件渲染详

一、Vue样式绑定 在Vue中&#xff0c;我们可以通过多种方式动态地绑定样式&#xff0c;让界面根据数据状态变化而自动更新样式。 1. class样式绑定 (1) 字符串写法 适用场景&#xff1a;样式的类名不确定&#xff0c;需要动态指定 <template><div><!-- 绑定…...

python基于协同过滤的动漫推荐系统

目录 技术栈介绍具体实现截图系统设计研究方法&#xff1a;设计步骤设计流程核心代码部分展示研究方法详细视频演示试验方案论文大纲源码获取/详细视频演示 技术栈介绍 Django-SpringBoot-php-Node.js-flask 本课题的研究方法和研究步骤基本合理&#xff0c;难度适中&#xf…...

光场操控新突破!3D 光学信息处理迎来通用 PSF 工程时代--《自然》子刊:无需复杂算法,这一技术让 3D 光学成像实现 “即拍即得”念日

导语 在光学成像领域&#xff0c;如何突破分辨率与成像速度的瓶颈&#xff0c;一直是科研人员探索的焦点。近日&#xff0c;加州大学洛杉矶分校&#xff08;UCLA&#xff09;的研究团队在《Light: Science & Applications》发表论文&#xff0c;提出了一种通用点扩散函数&a…...

ubuntu20.04如何给appImage创建快捷方式

ubuntu20.04如何给appImage创建快捷方式 1. 确保AppImage是可执行的 chmod x /path/to/your/appimage2. 创建.desktop文件 在~/.local/share/applications/目录下创建一个新的 .desktop 文件&#xff1a; vi ~/.local/share/applications/your-appname.desktop添加以下内容…...

网络安全之SQL RCE漏洞

引言 堡垒机&#xff08;Bastion Host&#xff09;&#xff0c;也称为跳板机或运维安全审计系统&#xff0c;是一种用于管理和控制对内部网络资源访问的安全设备。它的主要作用是作为运维人员访问内部服务器和网络设备的唯一入口&#xff0c;通过集中化的身份认证、权限管理和…...