HarmonyOS 鸿蒙Next @abner/refresh RefreshLayout 需要自己控制起始位置

HarmonyOS 鸿蒙Next @abner/refresh RefreshLayout 需要自己控制起始位置

Column() {
RefreshLayout({
controller:this.controller,
itemLayout: this.itemLayout.bind(this),
refreshPosition:this.refreshPosition,
onRefresh: ()=> {
this.initData()
},
onLoadMore: ()=> {
// this.controller.finishRefresh()
}
})
}.width(‘100%’)
.height(‘100%’)
.backgroundColor(Color.White)

itemLayout() {
List() {
ListItemGroup({ header: this.userInfoHeaderView }) {}
ListItemGroup({ header: this.userItem }) {}
//这需要判定一下,如果没有数据,就不展示
if (this.schoolModel.school_notice.notice_list.length > 0) {
this.schoolNoticeView()
}
this.recommendedReadView()
}.layoutWeight(1)
.width(‘100%’)
}

使用RefreshLayout,前提是遇到滑动组件时,需要自己控制起始位置。这个是怎么控制呢


更多关于HarmonyOS 鸿蒙Next @abner/refresh RefreshLayout 需要自己控制起始位置的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

已经解决

1.下载原工程

2。找到原工程中的这个文件:SystemListViewPage

里面demo实现了

更多关于HarmonyOS 鸿蒙Next @abner/refresh RefreshLayout 需要自己控制起始位置的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


楼主厉害!

在HarmonyOS鸿蒙系统中,对于使用RefreshLayout组件(如@abner/refresh)并需要自定义控制其刷新起始位置的需求,这通常涉及到对RefreshLayout内部滚动视图(如ScrollView或RecyclerView)的初始偏移量进行设置。

RefreshLayout本身并不直接提供设置刷新起始位置的API,但你可以通过以下几种方式间接实现:

  1. 调整内部视图内容偏移:在RefreshLayout包裹的滚动视图内部,通过调整顶部或左侧的padding,间接改变触发刷新的起始位置。

  2. 自定义RefreshLayout:如果标准实现无法满足需求,你可以考虑继承RefreshLayout并重写相关方法来控制刷新起始位置,如重写onTouchEventonInterceptTouchEvent以调整触发条件。

  3. 使用布局参数:检查RefreshLayout及其子视图的布局参数(如LayoutParams),看是否有相关属性可用于调整刷新起始位置。

请注意,直接修改库的内部行为可能导致不兼容或未来版本中的维护问题。建议详细阅读@abner/refresh的官方文档和源码,以了解其工作原理和可能的扩展点。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部