gpt4 book ai didi

android - 用于同时显示 5 个 View 的 ViewPager 或 Android 中的其他选项?

转载 作者:行者123 更新时间:2023-11-29 21:17:06 26 4
gpt4 key购买 nike

我目前正在使用 pageWidth 为 0.2 的 ViewPager 同时显示 5 个 View 。这在逻辑上需要 7 的屏幕外限制,以便在 View 之间平滑过渡。

一开始我使用了 FragmentStatePagerAdapter 但我担心内存消耗和性能。这就是为什么我现在只使用 PagerAdapter 来显示我的 View 的原因。

我想要的(以及我拥有的):

<<-- 查看 |查看查看查看查看查看查看-->>>

android 中是否还有其他方法可以处理此问题?我考虑过将 LinearLayout 与 ScrollView 一起使用,但我需要在滑动后“坚持”到 View 。我真的很喜欢 View 的自定义页面指示器。

此外:我应该将(元素的) View 保存在我的对象中,还是应该在每次调用后重新创建它们(是的,我将在 destroyItem 中删除它们)?

另一个问题:从 FragmentStatePageAdapter 切换到 PagerAdapter 的决定是否正确?

最佳答案

来自文档,http://developer.android.com/reference/android/support/v4/app/FragmentStatePagerAdapter.html

Implementation of PagerAdapter that uses a Fragment to manage each page. This class also handles saving and restoring of fragment's state.

This version of the pager is more useful when there are a large number of pages, working more like a list view. When pages are not visible to the user, their entire fragment may be destroyed, only keeping the saved state of that fragment. This allows the pager to hold on to much less memory associated with each visited page as compared to FragmentPagerAdapter at the cost of potentially more overhead when switching between pages.

因此,如果您有很多页面,使用FragementStatePageAdapter 会更好。 FragementStatePageAdapter 在内存管理上更高效。

但是如果要在屏幕外缓存2个页面,无论是FragmentStatePageAdapter还是PageAdapter,都需要自己缓存。使用 SimpleOnPageChangeListener 捕捉页面变化事件,然后为下一页做一些初始化。

关于android - 用于同时显示 5 个 View 的 ViewPager 或 Android 中的其他选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21151847/

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