ä¸. 导å
¥ViewPager第ä¸æ¹jarå
android-support-v13.jar
å¨å¼åä¹åå
å¨å·²ç»å建好çåºç¨ç¨åºå·¥ç¨ä¸å¯¼å
¥jarå
ï¼æ¹æ³å¦ä¸ï¼
éä¸åºç¨ç¨åºå·¥ç¨ï¼å¨eclipseçèåæ éæ©Project->properties->Java Build Path->Libraries->Add External Jarsä¸å å
¥å·²ç»ä¸è½½å¥½çjarå
ãå å
¥è¿ä¸ªjarå
ä¹åå°±å¯ä»¥ä½¿ç¨ViewPagerç±»æ¥å¼åç¸å
³çåºç¨äºã
举ä¸åä¸ï¼å
¶å®ç¬¬ä¸æ¹jarå
çæ·»å åºè¯¥ä¹æ¯èµ°è¿ä¸ªæ¥éª¤ã
äº. ViewPagerç使ç¨
ä¸é¢ä»¥ä¸ä¸ªç®åçdemoæ¥å®ç°ViewPagerç使ç¨ï¼è¯¥Demoçææå¾å¦ä¸ï¼
该Demoæ»å
±å个页é¢ï¼æ¯ä¸ªé¡µé¢ç¨ä¸ä¸ªFragmentæ¥å®ç°ï¼æ以åå«å建FirstFragmentPageãSecondFragmentPageãThirdFragmentPageãForthFragmentPageå个类æ¥å®ç°å个页é¢ï¼è¿ä¸ªå个类é½ç»§æ¿Fragmentãè¿å个Fragmentå°å¨MainActivityä¸æ·»å å¤çã以ä¸ä¸»è¦ä»£ç å®ç°ï¼
1. 主å¸å±æ件main.xml代ç å¦ä¸ï¼
[html] view plaincopy
<?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" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<!-- ViewPagerçé¢å¸å± -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="50dip" >
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<!-- æ示å¾æ åæé®çå¸å± -->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="vertical" >
<!-- ViewPagerçé¢ä¸æ¹çæ示翻页å¾æ -->
<LinearLayout
android:id="@+id/indicator_group"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dip"
android:gravity="center"
android:orientation="horizontal" >
</LinearLayout>
<!-- åºé¨çåéååè¿æé®å¸å± -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="30dip"
android:paddingRight="30dip" >
<Button
android:id="@+id/back_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/back" />
<Button
android:id="@+id/next_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/next" />
</LinearLayout>
</LinearLayout>
</RelativeLayout>
</LinearLayout>
2. MainActivityï¼
[java] view plaincopy
package com.stevenhu.vpt;
import java.util.ArrayList;
import android.app.Activity;
import android.app.Fragment;
import android.content.Context;
import android.os.Bundle;
import android.support.v13.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
public class MainActivity extends Activity implements OnClickListener
{
private final static String TAG = "MainActivity";
private ViewPager mViewPager;
private ViewPagerAdapter mViewPagerAdapter;
private LinearLayout mIndicatorGroup;
//å®ä¹æ示翻页å¾æ æ°ç»
private ImageView[] mIndicatorImage;
private Button mBackButton, mNextButton;
//å®ä¹å½åå¨ç¬¬å 页
private int mCurrentPage = 0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mViewPager = (ViewPager)findViewById(R.id.viewpager);
//å建èªå®ä¹çViewPagerAdapter对象
mViewPagerAdapter = new ViewPagerAdapter(this, mViewPager);
//æ·»å Fragment
mViewPagerAdapter.addFragment(FirstFragmentPage.class, null);
mViewPagerAdapter.addFragment(SecondFragmentPage.class, null);
mViewPagerAdapter.addFragment(ThirdFragmentPage.class, null);
mViewPagerAdapter.addFragment(ForthFragmentPage.class, null);
//è·åæ示å¨å¾æ æå¨çé¢å¸å±å¯¹è±¡
mIndicatorGroup = (LinearLayout)findViewById(R.id.indicator_group);
mIndicatorImage = new ImageView[mViewPagerAdapter.getCount()];
mBackButton = (Button)findViewById(R.id.back_button);
mNextButton = (Button)findViewById(R.id.next_button);
mBackButton.setOnClickListener(this);
mNextButton.setOnClickListener(this);
initIndicator();
}
//åå§åæ示å¨ï¼å®ç°éçå建页æ°çå¢å ä»èæ·»å ç¸åºä¸ªæ°çæ示å¾æ ã
private void initIndicator()
{
for (int i = 0; i < mViewPagerAdapter.getCount(); i ++)
{
ImageView imageView = new ImageView(this);
imageView.setLayoutParams(new ViewGroup.LayoutParams(20,20));
imageView.setPadding(20, 0, 20, 0);
if (i == 0)
{
imageView.setBackgroundResource(R.drawable.page_indicator_focused);
}
else
{
imageView.setBackgroundResource(R.drawable.page_indicator);
}
mIndicatorImage[i] = imageView;
mIndicatorGroup.addView(mIndicatorImage[i]);
}
}
http://blog.csdn.net/stevenhu_223/article/details/8024925