Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EasyRefresh.custom 传入CustomScrollView的key (自定性和兼容性小探讨) #273

Closed
Peng-Qian opened this issue Apr 8, 2020 · 2 comments

Comments

@Peng-Qian
Copy link

Peng-Qian commented Apr 8, 2020

Hello,

很喜欢这款强大的插件,我个人认为几个能锦上添花的小改进是:

  1. 可以在EasyRefresh.custom中加入一个Key的参数来用传入CustomScrollView的key,以便传入PageStorageKey来使用CustomScrollView的位置记忆功能。当然目前也是可以通过EasyRefresh和EasyRefresh.build来做到,但是如果EasyRefresh.custom也可以做到的话可以省去不少代码。

  2. 自定义header和footer的位置,比较简单快捷的方法是传入一个Offset,再用Transform.translate来实现,这样会让该插件更具备自定程度和兼容性(至少我是十分需要这个功能)。

  3. 个人建议将extent这样的参数设为可自定义的参数,同样可以加强该插件的兼容性。

几点拙见,还望作者采纳~

@xuelongqy
Copy link
Owner

v2.1.1添加listKey参数。自定义样式请参考文档,extent可自定义

@Peng-Qian
Copy link
Author

v2.1.1添加listKey参数。自定义样式请参考文档,extent可自定义

感谢回复,如果我没有理解错,你说的是在CustomHeader()中实现自定义吧。我个人觉得如果可以在已有的header和footer里提供更多的自定义参数,例如:
BallPulseHeader( offset: 50, extent: 30 )
这样可能会更方便使用和提高兼容性, 而且如果我没有弄错的话,CustomHeader()也无法自定义已有的header吧。

另外一个就是我说的Header和Footer的位置问题,这是因为在NestedScrollView中,如果有使用SliverOverlapAbsorber()和SliverOverlapInjector()这种组合,会导致现有插件的header和footer被Appbar和BottomNavigationBar挡住(我尝试把header放在SliverOverlapInjector()后面,但会导致header消失)。我目前的解决方案是改写已有的header,自行导入offset和extent(如上)来加强兼容性哈,我个人觉得如果这两点还挺实用的,望采纳。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants