Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Swipe half page in a ViewPager (from compatibility pack)

I am using a ViewPager with a PageAdapter (from the compatibility pack v4) to swipe among a horizontal list of boxes. The problem is that my second box from the first page is the first box in the second page (visually and conceptually). Something like this:

enter image description here

The way I am doing now it works. However, this becomes kinda weird because at the middle of the swipe there is a situation that the same box appears twice (like it is shown in the image).

There is a way to swipe only "half" page?

EDIT:

The boxes are an abstraction. In fact each box is a ListView and I create different pages just changing the adapter of each ListView.

like image 844
Tiago Almeida Avatar asked May 13 '12 03:05

Tiago Almeida


1 Answers

  1. Create one fragment per page
  2. Override getPageWidth() in PageAdapter to display more than one page

Code:

@Override
public float getPageWidth(int position) {
    float nbPages = 2; // You could display partial pages using a float value
    return (1 / nbPages);
}
like image 129
Murphy Avatar answered Oct 19 '22 22:10

Murphy