场景描述
内嵌的ArkUI可滚动容器中的Web组件,接收到滑动手势事件,实现在父组件中嵌套一个web组件可以平滑滚动。
场景一:招行首页、新闻类应用新闻详情页:在scroll组件中嵌套一个webview并且webview全量展开。
场景二:同花顺首页由Scroll嵌套Tabs,Tabs嵌套Web组件来实现。
方案描述
内嵌在可滚动容器(Scroll、List...)中的Web组件,接收到滑动手势事件,需要对接ArkUI框架的NestedScrollMode枚举类型,使得Web组件可以嵌套ArkUI可滚动容器,进行嵌套滚动。
nestedScroll入参为一个NestedScrollOptions对象,该对象具有两个属性,分别为scrollForward和scrollBackward,每一个属性都为一个NestedScrollMode枚举类型。NestedScrollMode枚举类型如下表。
名称 |
值 |
描述 |
SELF_ONLY |
0 |
只自身滚动,不与父组件联动。 |
SELF_FIRST |
1 |
自身先滚动,自身滚动到边缘以后父组件滚动。父组件滚动到边缘以后,如果父组件有边缘效果,则父组件触发边缘效果,否则子组件触发边缘效果。 |
PARENT_FIRST |
2 |
父组件先滚动,父组件滚动到边缘以后自身滚动。自身滚动到边缘后,如果有边缘效果,会触发自身的边缘效果,否则触发父组件的边缘效果。 |
PARALLEL |
3 |
自身和父组件同时滚动,自身和父组件都到达边缘以后,如果自身有边缘效果,则自身触发边缘效果,否则父组件触发边缘效果。 |
场景一:
长web页面全量展开嵌套滚动,例如应用首页或新闻类应用新闻详情页
方案
整体实现效果为: Scroll嵌套web组件且web组件全量展开。
实现方法:通过web