#鸿蒙通关秘籍#如何使用Scroll组件实现页面滚动?

HarmonyOS
2024-12-12 13:34:20
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
BPM风诗篇

利用 Scroll 组件可以实现页面的上下滚动,在鸿蒙开发中响应滚动事件需谨慎处理onScroll回调,建议尽量减少高耗时的操作。可使用 @Builder装饰器 封装自定义构建函数来增加代码的复用性,减少冗余。代码如下:

typescript // 自定义构建函数:上方图标,下方文字 @Builder IconAndDescription(icon: Resource, description: string | Resource, iconSize?: Size, radius?: number) { Column() { Image(icon) .size(iconSize === undefined ? { height: $r('app.integer.slidetohideanddisplace_icon_default_height'), width: $r('app.integer.slidetohideanddisplace_icon_default_height') } : iconSize) .borderRadius(radius) Text(description) .margin({ top: $r('app.integer.slidetohideanddisplace_margin_between_icon_and_description') }) } }

// 自定义构建函数:Row组件中横向排列IconAndDescription @Builder CustomRow(iconsAndDescriptions: IconAndDescription[]) { Row() { ForEach(iconsAndDescriptions, (item: IconAndDescription) => { this.IconAndDescription(item.icon, item.description) }) } .width($r('app.string.slidetohideanddisplace_size_full')) .justifyContent(FlexAlign.SpaceAround) .padding($r('app.integer.slidetohideanddisplace_padding_small')) .margin({ top: $r('app.integer.slidetohideanddisplace_margin_small') }) .backgroundColor($r('app.color.slidetohideanddisplace_color_transparent_aa')) .borderRadius($r('app.integer.slidetohideanddisplace_border_radius')) }

分享
微博
QQ
微信
回复
2024-12-12 14:26:57
相关问题
HarmonyOS Scroll组件滚动控制
173浏览 • 1回复 待解决
HarmonyOS Scroll组件滚动问题
721浏览 • 1回复 待解决