본문 바로가기
Development/Android

[안드로이드] ViewPager 어렵지 않아요! 간단적용법!

by 푸민 2015. 11. 13.
반응형


안녕하세요 푸민입니다.

안드로이드 개발에 ViewPager 객체를 굉장히 많이 사용하는것 같아요!

가로 스와이프로 화면을 바꾸는 등 UI/UX에서 굉장히 중요한 요소이기 때문인것 같습니다.


간단하게 ViewPager를 사용해 볼까요?


1. 해당 프로젝트에 android-support-v4.jar 파일을 추가해줍니다.


2. main.xmlViewPager를 삽입합니다.

<android.support.v4.view.ViewPager 

android:layout_width="match_parent"

android:layout_height="match_parent"

android:id="@+id/main_pager"

 />


3. 페이지 레이아웃을 작성합니다. data.xml

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent" >

<!-- 원하는 형태로 작성해주세요 -->

</FrameLayout>


4. PagerAdapter 클래스를 상속받은 MyAdapter 클래스를 작성합니다.

public class TestAdapter extends PagerAdapter {

private LayoutInflater mInflater;


public TestAdapter(Context c){

super();

mInflater = LayoutInflater.from(c);

}


@Override

public int getCount() {

return 0;//데이터 수만큼으로 변경해야되요

}


@Override

public Object instantiateItem(View pager, int position) {

View v = null;

v = mInflater.inflate(R.layout.data_ad, null);


//원하는 기능 추가


((ViewPager)pager).addView(v, 0);


return v; 

}


@Override

public void destroyItem(View pager, int position, Object view) {

((ViewPager)pager).removeView((View)view);

}


@Override

public boolean isViewFromObject(View pager, Object obj) {

return pager == obj; 

}


@Override public void restoreState(Parcelable arg0, ClassLoader arg1) {}

@Override public Parcelable saveState() { return null; }

@Override public void startUpdate(View arg0) {}

@Override public void finishUpdate(View arg0) {}

}


5. MainActivity 에서 ViewPager 객체에다 MyAdapter 를 설정해줍니다.

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

adapter = new MyAdapter(context);

pager.setAdapter(adapter);


반응형

댓글