回收 FragmentPagerAdapter
Recycling FragmentPagerAdapter
我正在构建我想要的 FragmentPagerAdapter(带有小图标的那个);
- 到屏幕中间(水平)的第一个项目
- 滑动它并使它们移动到屏幕的五分之一到 left/right
实现此目标的最佳方法是什么?
这是视觉表示:
这是 FragmentPagerAdapter 的代码:
public class NavigationPagerAdapter extends FragmentPagerAdapter {
public NavigationPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return NavigationFragment.newInstance(position);
}
@Override
public int getCount() {
return stores.size();
}
@Override
public CharSequence getPageTitle(int position) {
return null;
}
@Override
public float getPageWidth(int position) {
return 0.2f;
}
}
希望我理解正确。尝试将以下配置添加到您的 `ViewPager.
pager.setOffScreenPageLimit(4);
pager.setClipToPadding(false);
pager.setPageMargin(-500);
pager.setHorizontalFadingEdgeEnabled(true);
pager.setFadingEdgeLength(20);
随意自定义值并获得您想要的效果
我正在构建我想要的 FragmentPagerAdapter(带有小图标的那个);
- 到屏幕中间(水平)的第一个项目
- 滑动它并使它们移动到屏幕的五分之一到 left/right
实现此目标的最佳方法是什么?
这是视觉表示:
这是 FragmentPagerAdapter 的代码:
public class NavigationPagerAdapter extends FragmentPagerAdapter {
public NavigationPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return NavigationFragment.newInstance(position);
}
@Override
public int getCount() {
return stores.size();
}
@Override
public CharSequence getPageTitle(int position) {
return null;
}
@Override
public float getPageWidth(int position) {
return 0.2f;
}
}
希望我理解正确。尝试将以下配置添加到您的 `ViewPager.
pager.setOffScreenPageLimit(4);
pager.setClipToPadding(false);
pager.setPageMargin(-500);
pager.setHorizontalFadingEdgeEnabled(true);
pager.setFadingEdgeLength(20);
随意自定义值并获得您想要的效果