1.首先,新建一个Android项目,项目名称为ViewPagerTest,接着打开项目默认创建的activity_main.xml布局文件,进行修改:
activity_main.xml代码如下:
<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="wrap_content" />
</RelativeLayout>
其中,这里需要android-support-v4.jar包,如果没有,需要导入这个jar包后才能用ViewPager这个控件。
2.接着,再新建五个页面,用来显示图片,这里只附上一个布局文件(因为都是一样的,只是图片不一样而已),viewpager_view1代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/mm1"/>
</LinearLayout>
3.接着打开MainActivity.java文件,通过设置适配器将上面那五个显示图片的页面放置到ViewPager里面,从此可以滑动图片,代码如下:
package com.android.viewpagertest;
import java.util.ArrayList;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.app.Activity;
public class MainActivity extends Activity {
private ViewPager viewPager;// 声明一个ViewPager
private ArrayList<View> pageView;// 声明一个存放视图的集合
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewPager = (ViewPager) findViewById(R.id.viewPager);// 获取布局中的ViewPager控件
// 获取不同布局文件的View视图
View view1 = LayoutInflater.from(MainActivity.this).inflate(
R.layout.viewpager_view1, null);
View view2 = LayoutInflater.from(MainActivity.this).inflate(
R.layout.viewpager_view2, null);
View view3 = LayoutInflater.from(MainActivity.this).inflate(
R.layout.viewpager_view3, null);
View view4 = LayoutInflater.from(MainActivity.this).inflate(
R.layout.viewpager_view4, null);
View view5 = LayoutInflater.from(MainActivity.this).inflate(
R.layout.viewpager_view5, null);
// 将view装入到一个集合中
pageView = new ArrayList<View>();
pageView.add(view1);
pageView.add(view2);
pageView.add(view3);
pageView.add(view4);
pageView.add(view5);
// 数据适配器
PagerAdapter mPagerAdapter = new PagerAdapter() {
@Override
// 获取当前窗体界面数
public int getCount() {
// TODO Auto-generated method stub
return pageView.size();
}
@Override
// 断是否由对象生成界面
public boolean isViewFromObject(View arg0, Object arg1) {
// TODO Auto-generated method stub
return arg0 == arg1;
}
// 是从ViewGroup中移出当前View
public void destroyItem(View arg0, int arg1, Object arg2) {
((ViewPager) arg0).removeView(pageView.get(arg1));
}
// 返回一个对象,这个对象表明了PagerAdapter适配器选择哪个对象放在当前的ViewPager中
public Object instantiateItem(View arg0, int arg1) {
((ViewPager) arg0).addView(pageView.get(arg1));
return pageView.get(arg1);
}
};
// 绑定适配器
viewPager.setAdapter(mPagerAdapter);
}
}
4.运行部署此项目,效果如下:
向右滑动可显示另一图片。
5.以上内容仅供大家学习参考,谢谢!