ViewPager 사용 예제
20 Jan 2017 | Android UX안드로이드 ViewPager를 활용하는 간단한 예제 코드입니다.
Layout 코드
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v4.view.PagerTitleStrip android:id="@+id/pager_title_strip" android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingBottom="8dp" android:paddingTop="8dp"/> </android.support.v4.view.ViewPager> </RelativeLayout>
그리고 Java 코드는 다음과 같습니다. 이번 예제 코드는 Fragment에서 ViewPager를 사용할
경우의 코드인데, Activity에서 사용할 경우에도 큰 차이는 없습니다.
Java 코드
package com.lnc.prototype.ui.main; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.lnc.prototype.R; public class LocationDataFragment extends Fragment { private ViewPager mViewPager; private ViewPagerAdapter mViewPagerAdapter; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_location_data, container, false); mViewPager = (ViewPager) view.findViewById(R.id.viewpager); mViewPagerAdapter = new ViewPagerAdapter(getFragmentManager()); mViewPager.setAdapter(mViewPagerAdapter); return view; } private class ViewPagerAdapter extends FragmentStatePagerAdapter { public ViewPagerAdapter(FragmentManager fm) { super(fm); } @Override public int getCount() { return 2; } @Override public Fragment getItem(int position) { Fragment fragment = null; switch(position) { case 0: fragment = new BeaconRadarFragment(); break; case 1: fragment = new LocationHistoryFragment(); break; } return fragment; } @Override public CharSequence getPageTitle(int position) { switch(position) { case 0: return "Beacon Radar"; case 1: return "Location History"; } return super.getPageTitle(position); } } ; }