1. ViewPage Layout 기술

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout

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

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical"

>

<android.support.v4.view.ViewPager

android:id="@+android:id/viewpager"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

/>

</LinearLayout>

2. FragmentActivity 기술
/**
*
*/
package com.andy.fragments.viewpager;
import java.util.List;
import java.util.Vector;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;
import com.andy.R;
import com.andy.fragments.tabs.Tab1Fragment;
import com.andy.fragments.tabs.Tab2Fragment;
import com.andy.fragments.tabs.Tab3Fragment;
/**
* The <code>ViewPagerFragmentActivity</code> class is the fragment activity hosting the ViewPager
* @author mwho
*/
public class ViewPagerFragmentActivity extends FragmentActivity{
/** maintains the pager adapter*/
private PagerAdapter mPagerAdapter;
/* (non-Javadoc)
* @see android.support.v4.app.FragmentActivity#onCreate(android.os.Bundle)
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  super.setContentView(R.layout.viewpager_layout);
  //initialsie the pager
  this.initialisePaging();
}
/**
* Initialise the fragments to be paged
*/
private void initialisePaging() {
  List<Fragment> fragments = new Vector<Fragment>();
  fragments.add(Fragment.instantiate(this, Tab1Fragment.class.getName()));
  fragments.add(Fragment.instantiate(this, Tab2Fragment.class.getName()));
  fragments.add(Fragment.instantiate(this, Tab3Fragment.class.getName()));
  this.mPagerAdapter = new PagerAdapter(super.getSupportFragmentManager(), fragments);
  //
  ViewPager pager = (ViewPager)super.findViewById(R.id.viewpager);
  pager.setAdapter(this.mPagerAdapter);
}
}
3. PageAdapter 기술
/**
*
*/
package com.andy.fragments.viewpager;
import java.util.List;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
/**
* The <code>PagerAdapter</code> serves the fragments when paging.
* @author mwho
*/
public class PagerAdapter extends FragmentPagerAdapter {
private List<Fragment> fragments;
/**
* @param fm
* @param fragments
*/
public PagerAdapter(FragmentManager fm, List<Fragment> fragments) {
  super(fm);
  this.fragments = fragments;
}
/* (non-Javadoc)
* @see android.support.v4.app.FragmentPagerAdapter#getItem(int)
*/
@Override
public Fragment getItem(int position) {
  return this.fragments.get(position);
}
/* (non-Javadoc)
* @see android.support.v4.view.PagerAdapter#getCount()
*/
@Override
public int getCount() {
  return this.fragments.size();
}
}
4.실행
왼쪽에서 오른쪽은 빨강->녹색->파랑
2011/12/06 11:23 2011/12/06 11:23

Trackback Address :: 이 글에는 트랙백을 보낼 수 없습니다