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

HarmonyOS
5h前
浏览
收藏 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
微信
回复
5h前
相关问题
HarmonyOS Scroll组件滚动问题
519浏览 • 1回复 待解决