![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ViewPager2
JayWang1024
stay hungry , stay young!
展开
-
使用ViewPager2前必看
1.选择自定义view还是Fragment作为页(page)?答:只有当UI设计的各页的布局都不一样,无法分类,即无法各页无法重复利用时,适合选择Fragment作为页(page),其他情况请使用自定义view2.如果不设置setOffscreenPageLimit(),ViewPager2将使用灵活的预加载策略(原先的ViewPager会默认setOffscreenPageLimit(1...原创 2019-11-18 17:02:31 · 1656 阅读 · 0 评论 -
判断ViewPager2的页(自定义View或fragment)被预加载或被回收
1.如果使用自定义view作为页,onDetachedFromWindow和onAttachedToWindow分别表示被回收和被重新利用,前者是回收资源的时机,后者是重新初始化的时机2.如果使用Fragment作为页,回收资源和重新初始化时机都应该在onRsume方法(如何保证visible-可见时会回调onRsume详见链接),onDestroyView方法也应该做回收资源工作3.Vi...原创 2019-11-18 16:56:04 · 2225 阅读 · 0 评论 -
判断ViewPager2哪页(pageView)当前visible(可见)
1.在adapter的convert方法中给自定义view(pageView)设置标签(pageView.setTag(adapterPosition))2.通过ViewPager2.findViewByTag(adapterPosition)可以获得预加载范围内的pageView,如您设置的预加载为setOffscreenPageLimit(1),则viewPager2循环利用的pag...原创 2019-11-18 16:30:39 · 2333 阅读 · 0 评论 -
判断ViewPager2的哪个fragment可见visible
1.创建fragment时,将fragment作为成员变量持有2.监听tablayout或viewPager2的pageChange方法知道哪个fragment被selected3.调用getSupportFragmentManager().beginTransaction().setMaxLifecycle(fragment, Lifecycle.State.RESUMED),fragm...原创 2019-11-18 16:15:09 · 3120 阅读 · 0 评论