本文 我们来说界面间的转场动画

我们先来编写两个界面文件

index.ets 代码如下

@Entry
@Component
struct Index {

  build() {
    Column({space: 30}) {
      Image("https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=317918699,1688031253&fm=253&gp=0.jpg")
        .width(100).height(100)
    }
    .width('100%')
    .height('100%')
  }
}

就是一个小的 image 图片文件内容 然后用的网图
设置了 100vp 高度和宽度
在这里插入图片描述
第二个界面 AppView.ets
代码如下

@Entry
@Component
struct AppView {
  build() {
    Column({space: 30}) {
      Image("https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=317918699,1688031253&fm=253&gp=0.jpg")
        .width("70%").height("30%")
    }
    .width('100%')
    .height('100%')
  }
}

这里 我们写的基本和第一个界面一模一样的结构
不过
图片宽高调大了一些
在这里插入图片描述
然后 我们在 index.ets 中导入路由工具

import router from "@ohos.router"

然后 将下面 images 加上点击事件 跳转向AppView

Image("https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=317918699,1688031253&fm=253&gp=0.jpg")
.width(100)
.height(100)
.onClick(()=> {
	router.pushUrl({
	    url: "pages/AppView"
	})
})

在这里插入图片描述
此时 我们点击图片 它就会跳到我们 AppView 来了
在这里插入图片描述
但是 目前 我们跳转是没有什么动画 看不出什么特别明显的动态效果的

页面转场动画关键字 sharedTransition
它接受两个参数 第一个是 id 字符串类型 就是唯一标识
第二个 是我们属性的 json 类型的动画配置参数

我们可以给第一个 和第二个界面 image图片组件都加上如下代码

.sharedTransition("", {
	duration: 2000,
	curve:Curve.Linear,
	type:SharedTransitionEffectType.Exchange
})

在这里插入图片描述
这里 id我们还写没写 然后 第二个参数 我们设置 动画 2000毫秒 就是两秒执行完
然后 curve设置 Linear 整个动画匀速执行
类型 我们设置为SharedTransitionEffectType.Exchange 共享元素 转场类型

我们第二个界面的 image组件也要对应加上
在这里插入图片描述
然后 还有一个问题 我们需要的是 这个图片一个慢慢变大的效果
但是 如果我们界面中有两个图片呢?
没错 通过第一个id参数控制
这里 我们都叫 bdstatic
在这里插入图片描述
这样 我们两个界面的 动画就对应上了

此时 我们运行起第一个界面 然后点击图片
在这里插入图片描述
它现在就是一个慢慢变大的动画效果了
在这里插入图片描述
然后 还有一个效果就是
比如 我们给第二个界面加一个 Text文本组件
我们点击跳转后 这个文章就会突然飞出来
在这里插入图片描述
我们将 第二个界面的Text代码编写如下

Text("文本组件").sharedTransition("Text", {
	duration: 2000,
	curve:Curve.Linear,
	type:SharedTransitionEffectType.Static
})

type:SharedTransitionEffectType.Static 设置从无钓动画
在这里插入图片描述
此时 我们点击 文本就会有个慢慢出现的效果
在这里插入图片描述

相关文章

harmony 鸿蒙系统学习 安装ohpm报错 ohpm install failed

找原因,首先,通过查看文件,先看软件的使用node的配置,发现config用的是 .npmrc文件,去c盘找到对应文件打开看看。确实是,这里的镜像不对。(网上很多攻略要求你卸载以前的node或者卸载这个刚安装的软件,再重装,其实不需要这么麻烦。)

HarmonyOS应用开发者基础认证考试答案

B. 通过"$r(‘app.type.name’)"的形式引用应用资源,app代表是应用内resources目录中定义的资源,type代表资源类型(或资源的存放位置)。5.在Column和Row容器组件中,justifyContent用于设置子组件在主轴方向上的对齐格式,alignItems用于设置子组件在交叉轴方向上的对齐格式。E. 属性方法:用于组件属性的配置,统一通过属性方法进行设置,如fontSize()、width()、height()、color() 等。

鸿蒙(ArkUI)开发:实现二级联动

列表的二级联动(Cascading List)是指根据一个列表(一级列表)的选择结果,来更新另一个列表(二级列表)的选项。这种联动可以使用户根据实际需求,快速定位到想要的选项,提高交互体验。例如,短视频中拍摄风格的选择、照片编辑时的场景的选择,本文即为大家介绍如何开发二级联动。

HarmonyOS4.0系统性深入开发19进程模型概述

HarmonyOS通过CES(Common Event Service,公共事件服务)为应用程序提供订阅、发布、退订公共事件的能力。公共事件从系统角度可分为:系统公共事件和自定义公共事件。系统公共事件:CES内部定义的公共事件,只有系统应用和系统服务才能发布,例如HAP安装,更新,卸载等公共事件。目前支持的系统公共事件详见系统公共事件列表。自定义公共事件:应用自定义一些公共事件用来实现跨进程的事件通信能力。公共事件按发送方式可分为:无序公共事件、有序公共事件和粘性公共事件。

【HarmonyOS】深入了解 ArkUI 的动画交互以提高用户体验

从今天开始,博主将开设一门新的专栏用来讲解市面上比较热门的技术 “鸿蒙开发”,对于刚接触这项技术的小伙伴在学习鸿蒙开发之前,有必要先了解一下鸿蒙,从你的角度来讲,你认为什么是鸿蒙呢?它出现的意义又是什么?鸿蒙仅仅是一个手机操作系统吗?它的出现能够和Android和IOS三分天下吗?它未来的潜力能否制霸整个手机市场呢?抱着这样的疑问和对鸿蒙开发的好奇,让我们开始今天对ArkUI动画操作的掌握吧!

【HarmonyOS】鸿蒙开发简介与项目基础配置演示

从今天开始,博主将开设一门新的专栏用来讲解市面上比较热门的技术 “鸿蒙开发”,对于刚接触这项技术的小伙伴在学习鸿蒙开发之前,有必要先了解一下鸿蒙,从你的角度来讲,你认为什么是鸿蒙呢?它出现的意义又是什么?鸿蒙仅仅是一个手机操作系统吗?它的出现能够和Android和IOS三分天下吗?它未来的潜力能否制霸整个手机市场呢?

【HarmonyOS】ArkTS语言介绍与组件方式运用

自定义组件自定义函数:自定义函数可以将烦长的代码单独抽离出一个函数当中,然后在原位置调用我们设置的函数即可,自定义函数可以定义在全局或组件内,如下:@Styles装饰器@Extend装饰器// 继承模式,只能写在全局。

鸿蒙应用开发 常用组件与布局

HarmonyOS ArkUI 提供了丰富多样的 UI 组件,您可以使用这些组件轻松地编写出更加丰富、漂亮的界面。在本篇 Codelab 中,您将通过一个简单的购物社交应用示例,学习如何使用常用的基础组件和容器组件。本示例主要包含:“登录”、“首页”、“我的”三个页面。

harmony开发之Text组件的使用

TextInput、TextArea是输入框组件,通常用于响应用户的输入操作,比如评论区的输入、聊天框的输入、表格的输入等,也可以结合其它组件构建功能页面,例如登录注册页面。图片来源黑马程序员Text组件的使用:文本显示组件有两种方式,一种是字符串string,一种是读取指定的string格式的字符串!可以实现,根据限定词,切换指定的国家语言,从而实现设备走向国家化!

【2023华为杯B题】DFT类矩阵的整数分解逼近(思路及代码下载)

算法复杂度越高、数据取值范围越大,其硬件复杂度就越大。目前在实际产品中,一般采用快速傅里叶变换(Fast Fourier Transform,FFT)算法来快速实现DFT,其利用DFT变换的各种性质,可以大幅降低DFT的计算复杂度(参见[1][2])。然而,随着无线通信技术的演进,天线阵面越来越大,通道数越来越多,通信带宽越来越大,对FFT的需求也越来越大,从而导致专用芯片上实现FFT的硬件开销也越大。文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

【2023华为杯A题】WLAN网络信道接入机制建模(代码、思路.....)

AP给STA发送数据叫作下行方向,反之是上行方向,本文将AP和STA统称为节点,每个节点的发送和接收不能同时发生。家庭或宿舍等单BSS场景中,STA距离AP较近,RSSI较强,互听,假设理想信道,不会因信道质量差而丢包,只有在2个及以上STA同时发送数据时导致碰撞而丢包。(2)随机回退:信道空闲时,可能有多个节点准备好了数据,为避免碰撞,节点从[0, CW-1]的均匀分布选取一个随机数作为回退数,等待该回退数个时隙长度slotTime(9μs),随机回退时段时长为回退数乘以slotTime。

【 2023华为杯C题】大规模创新类竞赛评审方案研究(思路、代码......)

现在创新类竞赛很多,其中规模较大的竞赛,一般采用两阶段(网评、现场评审)或三阶段(网评、现场评审和答辩)评审。创新类竞赛的特点是没有标准答案,需要评审专家根据命题人(组)提出的评审框架(建议)独立评审。所以,对同一份作品,不同评委的评分可能存在较大差异。事实上,当竞赛规模大,评委的人数众多时,极差(定义见附件1)大的问题更为突出。显然,简单地依据多位评委评分的总和进行排序并不是创新类竞赛评审的好方案。因此,探讨大规模创新类竞赛评审方案的公正性、公平性和科学性具有深远意义。
返回
顶部