繁体   English   中英

带有片段的垂直 ViewPager

[英]Vertical ViewPager with fragments

我想在彼此下方显示 3 个片段。 到目前为止,我已经使用了许多解决方案,例如YViewPager和答案,例如Android: Vertical ViewPager 他们的主要问题是他们没有按照我想要的方式工作。 我需要显示第一个片段,然后显示第二个片段的某些部分,当用户滚动到下一个片段时,显示第二个片段和第三个片段的某些部分。 YViewPager很棒,直到我添加了这些行来显示第二个片段的某些部分:

viewPager.setClipToPadding(false);
viewPager.setCurrentItem(1);
viewPager.setPadding(0,0,0,500);

在那之后,它变成了这样:

凭空出现的那个白色空间。 至于其他告诉我交换动作事件的库和黑客:

private MotionEvent swapXY(MotionEvent event) {
    float width = getWidth();
    float height = getHeight();

    float newX = (event.getY() / height) * width;
    float newY = (event.getX() / width) * height;

    event.setLocation(newX, newY);
    return event;
}

并且还重写PageTransformer 这里一切都很好,直到我想从第二个片段转到第一个片段。 它想将 alpha 设置为 0 以开始转换,但这会导致第三个片段突然消失,如下所示:

在此处输入图片说明

好吧,这是我的问题:

有没有办法在没有这些问题的情况下实现这种观点? 您是否建议其他一些方法?

先感谢您。

我认为您可以使用 RecyclerView 和 SnapHelper 更轻松地实现所描述的行为。 这是一个链接,您可以在其中找到一些来源的解释https://rubensousa.github.io/2016/08/recyclerviewsnap

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM