动态显示页面布局以及页面元素大小实现案例
该场景为个人信息页面,页面元素联动效果。
提取需求:
- 图片的宽高发生变化
- 姓名栏字体发生变化
- 公司名称栏字体、透明度发生变化,直至消失
- 图片所在行行高发生变化
注1:图片行高发生变化时,下方列表并未出现空白区域,说明下方列表行高也发生了变化,这种变化导致上方头像行的高度缩小时所遗留的空白区被填充。
注2:仔细观察可以发现,公司名称在消失的过程中,呈现出向左向上靠近的趋势,并且最左边和上面部分被遮盖。
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS 页面布局如何能根据显示大小做到同步缩放
17浏览 • 1回复 待解决
如何让Select下拉组件动态显示选中的值
467浏览 • 1回复 待解决
js 如何获取页面元素 和页面元素的位置
8763浏览 • 2回复 待解决
基于tabs实现页面布局
739浏览 • 1回复 待解决
路由实现动态页面的跳转方案
1809浏览 • 1回复 待解决
如何实现多台终端的同步以及页面的跳转?
3786浏览 • 1回复 待解决
实现左边显示导航,右边显示显示具体页面效果的方案
1708浏览 • 1回复 待解决
如何实现Stack布局页面内点击事件透传
780浏览 • 1回复 待解决
HarmonyOS 原生页面与RN页面如何交互,以及消息互传
200浏览 • 1回复 待解决
#鸿蒙通关秘籍#鸿蒙中如何通过模块名和页面名实现动态页面加载?
95浏览 • 1回复 待解决
HarmonyOS 使用Navigation来实现页面路由,怎么隐藏根布局?
260浏览 • 1回复 待解决
如何实现一个页面显示子窗口
675浏览 • 1回复 待解决
子元素超出父元素边界,并且覆盖在父元素之上。用Stack布局能实现吗?
779浏览 • 1回复 待解决
页面的内容超出屏幕大小而无法完全显示时,该怎么办
1042浏览 • 1回复 待解决
如何通过JS动态引入页面?
2635浏览 • 1回复 待解决
如何实现布局中子元素可以自动换行的效果?
509浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS中实现页面的共享元素转场动画?
92浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙页面中实现线性布局?
79浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何通过动态路由实现页面的动态加载与模块化?
155浏览 • 1回复 待解决
如何获取元素位置和大小
2286浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙中实现动态路由跳转页面?
104浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用鸿蒙Tabs组件实现动态页面加载?
114浏览 • 2回复 待解决
HarmonyOS 如何动态获取当前页面
865浏览 • 1回复 待解决
#鸿蒙通关秘籍#鸿蒙页面布局中如何控制子组件的显示和隐藏?
107浏览 • 2回复 待解决
动态布局下加载loading效果实现
999浏览 • 1回复 待解决
使用的核心API
属性动画、Scroll、onScroll、层叠布局
核心代码解释
实现需求:
在ARKTS中,对于一个参数的实时改变往往可以使用@State修饰它,所以当需求中涉及到需要变化的属性时,例如:width,height,opacity....我们就可以使用@State去为属性定义变量。
关于遮盖效果,我们可以使用层叠布局来实现,将公司名称所在栏绘制在其他栏下层,在用@State修饰公司名称所在栏的位置,使得它被其他栏遮盖,从而达到边缘部分消失的效果。
所有属性的改变与列表上下滑动有关,我们可以使用OnScroll方法监听列表的在Y轴上的偏移量,根据偏移量来给@State修饰的变量重新赋值,从而做到实时改变页面元素属性的效果。
另外分享一个思路:这样的效果同样可以使用属性动画(animation;animateto)、转场动画做到,但是动画的特点是只关注动画的起点和终点,虽然提供了中间变化的动画,但是是不可控的,就是无法暂停看中间态,请大家根据自身的业务需求合理使用组件或接口。
适配的版本信息
· IDE版本:4.0.1.501
· SDK版本:4.0.10.8