仅第一次下一页的ViewPager部分视图

学习者

我想告诉用户他/她可以滑动以更改页面。因此,我想显示下一页的局部视图。但这只是第一次。所以我想我会使用代码

boolean mFirstTime = true;
@Override
public float getPageWidth(int position) {
  if (position == 0 && mFirstTime) {
    mFirstTime = false;
    return 0.9f;
  }
  return 1f;
}

但是我mFirstTime没有明显的作用。有人知道实现我目标的方法吗?我想象我可以使用某种侦听器,但是我不知道侦听器内部会发生什么。

更新

另外,我尝试了下面的代码片段也无济于事。

myPager.beginFakeDrag();
myPager.fakeDragBy(Utils.dpToPx(this, 50));
myPager.endFakeDrag();

子程序在哪里

public static int dpToPx(Context context, int dp) {
  return (int) Math.ceil(dp * context.getResources().getDisplayMetrics().density);
}
莉娜·布鲁(Lena Bru)

您需要执行以下操作才能使其正常工作。

  1. 如果您不扩展FragmentStatePagerAdapter->您需要扩展它,而不仅仅是PagerAdapter
  2. 您需要重写方法

    @Override
    public int getItemPosition(Object obj){
    
    return POSITION_NONE; //will cause data reload
    }
    

当您准备好以全尺寸显示页面时,请致电 adapter.notifyDataSetChanged()

这将导致getPageWidth()再次为每个页面调用,从而使页面变大

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章