查看分页器中的视图在上一个视图和下一个视图之间重叠

时间:2015-09-16 10:50:35

标签: android android-layout android-fragments android-viewpager fragment

我在我的应用中使用ViewPager进行滑动效果。

我有pager.setPageMargin()来查看下一个和上一个视图的可见性,不幸的是我的下一个视图与当前视图重叠。

以下是我的代码

pager = (ViewPager) findViewById(R.id.myviewpager);

    adapter = new MyPagerAdapter(this, this.getSupportFragmentManager());
    pager.setAdapter(adapter);
    pager.setOnPageChangeListener(adapter);



    // Set current item to the middle page so we can fling to both
    // directions left and right
    pager.setCurrentItem(FIRST_PAGE);

    // Necessary or the pager will only have one extra page to show
    // make this at least however many pages you can see
    pager.setOffscreenPageLimit(10);

    // Set margin for pages as a negative number, so a part of next and 
    // previous pages will be showed

    //
    pager.setPageMargin(-450);

我在寻呼机中使用片段。 我正在使用此线程附加输出,但需要正确放置视图而不需要重叠

enter image description here

上图中标有的部分应该在中心卡后面。

5 个答案:

答案 0 :(得分:1)

pager.setPadding(0, 0, 0, 0);
pager.setPageMargin(0, 0, 0, 0);

您只需将match_parent用于viewpaper的高度和宽度 韩国社交协会。 希望它对你有用

答案 1 :(得分:0)

试试这个:

    pager.setClipToPadding(false);
    pager.setPadding(50, 0, 50, 0);

而不是:

    pager.setPageMargin(-450);

答案 2 :(得分:0)

实际上我把所需的视图带到了前面

view.bringToFront();

注意:想要识别位于查看中心寻呼机当前显示页面的正确布局

答案 3 :(得分:0)

我找到了后KitKat版本的解决方案。基本上我所做的是增加当前中心视图的高度。 (我还在为棒棒糖前解决方案工作)

这是我的代码,将OnPageChangeListener设置为viewpager,并在OnPageSelected方法中

position: relative;
height: 400px;
width: 100%;

答案 4 :(得分:0)

因为你正在设置pager.setPageMargin(-450);你还需要为ViewPage的子片段和pager.setClipToPadding(false)提供240填充;用于流畅的动画。

如果有人仍在寻找解决方案,我已经定制了ViewPage以实现它而不使用负边距,请在此处查找示例项目https://github.com/44kksharma/Android-ViewPager-Carousel-UI 它应该在大多数情况下工作,但你仍然可以定义页边距  mPager.setPageMargin(margin in pixel);