tabhost切换后viewpager滑动卡顿该怎么解决?

如下图所示,底部是Tabhost实现的,内容区域是fragment。当tabhost切换时,会导致viewpager切换卡顿,与它(viewpager)关联的tabLayout很清楚的显示此时vp只能滑动手指滑动的一段距离,失去了弹性。测试发现,当只有vp只有两页时,会一直这么卡顿,而当vp有3页以上时,只会卡顿1到两次,之后又恢复弹性。看看各位有没有解决思路。vp用的fragmentstatePageAdapter。

https://img.mukewang.com/5cb5816b0001e08004800800.jpg

https://img2.mukewang.com/5cb5816c00010dfa04800800.jpg

千巷猫影
浏览 746回答 3
3回答

qq_笑_17

Tabhost已经不推荐使用了,当然部分Android设计还是照搬了IOS的设计思路,但可以不使用此控件,改用其他设计思路去实现Tabhost,具体为什么Tabhost 会导致内含的ViewPager切换卡顿不太清楚。

胡子哥哥

可能是每次切换ViewPager的时候都新建了一个Fragment。题主可以试试这个属性mViewPager.setOffscreenPageLimit(4);指定ViewPager缓存Fragment的个数。当然这样会导致初始化的时候会加载4个,所以还需要配合懒加载。这是我做过很多个项目一贯用法。

幕布斯7119047

用这个getChildFragmentManager(),别用getSupportFragmentManager
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java