마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

ViewPager사용시, 로테이션 시키기 관련.

0 추천
안녕하세요, 안드로이드 초보 개발자입니다.

 

뷰플립퍼를 사용하다가.. 뷰페이저가 더 좋을것 같아서 뷰페이저로 바꾸게 되었습니다.

뷰플립퍼는 showNext,showPrevious 메소드를 사용해서 페이지를 전환하고, 마지막페이지일때 해당 메소드를 호출하면 첫번째 페이지가 보여지게 되는데요..

 

뷰페이저는 터치로 드래그하여 페이지를 이동하면 마지막페이지일경우, 파란색그라데이션이 뜨면서 더이상이동이 안되네요.

 

회전 뷰페이저, 로테이션 뷰페이저 등으로 검색해봐도 관련자료가 나오지 않아서 이렇게 질문드립니다 ㅠ

 

조언 부탁드립니다!
블랙이요블랙 (12,860 포인트) 님이 2013년 4월 2일 질문

1개의 답변

+1 추천
 
채택된 답변

http://stackoverflow.com/questions/7546224/viewpager-as-a-circular-queue-wrapping

 

public class MyAdapter extends PagerAdapter {
    private List<Object> mItems;
    private int mFakeCount = 0;

    public MyAdapter(Context context, List<Object> items) {
        mItems = items;
        mFakeCount = mItems.size()+1;
    }

    @Override
    public int getCount() {
        return mFakeCount;
    }

    @Override
    public Object instantiateItem(View collection, int position) {
        // make the size larger, and change the position
        // to trick viewpager into paging forever
        if (position >= mItems.size()-1) {
            int newPosition = position%mItems.size();

            position = newPosition;
            mFakeCount++;
        }

        // do your layout inflating and what not here.
        // position will now refer to a correct index into your mItems list
        // even if the user has paged so many times that the view has wrapped
    }
}

 

aucd29 (218,390 포인트) 님이 2013년 4월 2일 답변
블랙이요블랙님이 2013년 4월 2일 채택됨
감사합니다. 스택오버플로우 링크에 답변으로 달려있는 'https://github.com/antonyt/InfiniteViewPager' 예제 참고하여 해결하였습니다~
...