gpt4 book ai didi

android - 当 fragment 恢复/重新创建时,ViewPager getScrollX 返回 0

转载 作者:太空宇宙 更新时间:2023-11-03 10:46:04 25 4
gpt4 key购买 nike

我正在尝试创建一个 Velocity View Pager,我可以在其中像画廊 View 一样滚动浏览页面。我在进行滚动计算时遇到问题。我正在为 ViewPager 使用 FragmentStatePagerAdapter。对于正常的第一次运行,getScrollBy 返回第一个元素为 0 的实际滚动位置很酷。即如果我在第 3 页,getScrollX 返回 2400(每页 800 像素)等等。

当我从 backstack 恢复后得到托管 viewpager 的 fragment 时,问题就出现了。这次我的第 3 页变为 0,我的第一页变为 -2400 位置。一些当 android 重新膨胀适配器时它认为当前位置为 0 的方式。我已经尝试了所有可以使用 setCurrentItem 的方法。有些怎么感觉computeScroll不行。

如果有人能建议我如何让 getScrollX 返回考虑 start 为 0 而不是新膨胀的当前位置的位置,那就太好了。

否则我将无法选择在每次恢复时创建一个新 fragment 。

最佳答案

你一直都知道当前的位置,对吧?我将使用 ViewPager.getWidth() 将当前位置乘以 ViewPager 的宽度。由于 2400 以像素为单位,您可以使用 getWidth() 中的宽度(以像素为单位)来确定位置。

需要注意的一件事是确保在 View 膨胀和测量后使用 getWidth() 值,否则宽度将返回零。

关于android - 当 fragment 恢复/重新创建时,ViewPager getScrollX 返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23517986/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com