ViewPager的简单用法

原创 2018年04月16日 19:05:08

ViewPager的作用是让页面滑动。


左右滑动分别显示3个页面



代码

在主布局文件放入一个ViewPager

<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="wrap_content"
		android:layout_height="wrap_content"
 	/>   

</RelativeLayout>

创建每个可以滑动的页面(创建xml文件)

layout1.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    
    <TextView 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:text="第一个页面"
    android:layout_centerInParent="true"
    android:gravity="center|center_horizontal"
    />

</RelativeLayout>

layout2.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    
<TextView 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:text="第二个页面"
    android:layout_centerInParent="true"
    android:gravity="center|center_horizontal"
    />
</RelativeLayout>

layout3.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    
    <TextView 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:text="第三个页面"
    android:layout_centerInParent="true"
    android:gravity="center|center_horizontal"
    />

</RelativeLayout>

MainActivity.java

package com.example.viewpager;

import java.util.ArrayList;

import android.app.Activity;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;

public class MainActivity extends Activity {
	private ViewPager viewPager;
	private View view1;
	private View view2;
	private View view3;
	private ArrayList<View> viewList;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		//获取ViewPager对象
		viewPager =(ViewPager)findViewById(R.id.viewpager);
		
		initView();		
	}
	
	private void initView()
	{
		//加载布局文件(页卡),并转换为View对象
		LayoutInflater lf = getLayoutInflater().from(this);
		view1 = lf.inflate(R.layout.layout1, null);
		view2 = lf.inflate(R.layout.layout2, null);
		view3 = lf.inflate(R.layout.layout3, null);
		
		//将View对象放入数组
		viewList = new ArrayList<View>();
		viewList.add(view1);
		viewList.add(view2);
		viewList.add(view3);
		
		//创建适配器对象		
		ViewPagerAdapter vpa = new ViewPagerAdapter();
		
		//将适配器设置与ViewPager进行绑定
		viewPager.setAdapter(vpa);
	}
	
	//创建适配器
	class ViewPagerAdapter extends PagerAdapter
	{
		@Override		
		public  void destroyItem(ViewGroup container,int position,Object ibject){
			//删除页卡
			container.removeView(viewList.get(position));
		}
		@Override
		public Object instantiateItem(ViewGroup container,int position){
			//添加页卡
			container.addView(viewList.get(position));
			return viewList.get(position);
		}

		@Override
		public int getCount() {			
			//返回页卡的数量
			return viewList.size();
		}

		@Override
		public boolean isViewFromObject(View arg0, Object arg1) {			
			return arg0==arg1;
		}		
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}

ViewPager简单用法

这里讲述一个入门级别的ViewPager用于页面切换的例子。
  • guchuanhang
  • guchuanhang
  • 2016年06月15日 09:01
  • 494

ViewPager简单使用步骤

前言:感觉和listView使用一样。 1.xml文件中布局 2.Actvity中实例化ViewPager 3.自定义Adapter,这里具体实现稍有不同,也有些暂时不懂的地方 4.Adapt...
  • zinjin_woxin
  • zinjin_woxin
  • 2015年09月02日 16:41
  • 2442

Android中的ViewPager使用详解

软硬件环境 Android studio 2.1.3 坚果手机 5.1.1 前言ViewPager是android中进行View切换的一个控件。它是一个使用率非常高的控件,像app初次使用时的引导页面...
  • djstavaV
  • djstavaV
  • 2016年09月04日 21:49
  • 1043

android viewPager的简单使用案例

1 认识一下ViewPager?      ViewPager最早出自4.0版本,那么低版本如何能使用ViewPager呢?为了兼容低版本安卓设备,谷歌官方给我们提供了一个的软件包android...
  • u011422023
  • u011422023
  • 2015年04月08日 19:13
  • 1821

笔记43--ViewPager基本用法一

ViewPager功能就是可以使视图滑动。
  • mwj_88
  • mwj_88
  • 2014年06月15日 16:37
  • 6628

Android简单的ViewPager指示器

平常写项目在写介绍页,或者一些简单的轮播图的时候,总会需要搭配指示器来标明当前在什么位置.写法也比较多,刚好自己需要用到,以前用的一些方法,用起来需要配置好多东西,有些大材小用,所以来简单的实现一个....
  • u013904672
  • u013904672
  • 2016年06月16日 13:07
  • 5712

Fragment和ViewPager的简单使用

先上效果图 四个页面对应4个Fragment,通过ViewPager展示在主Activity中,支持最有滑动切换以及底部按钮点击切换Fragment。一、创建fragment以MessageFr...
  • u013795543
  • u013795543
  • 2016年12月09日 16:40
  • 417

ViewPager的最简单使用

ViewPager的最简单使用方法我的博客希望大家喜欢好了,进入正题,今天教大家ViewPager的最简单的实例,首先我们需要几个Fragment,还有一个Activity,这大家应该知道的吧,因为F...
  • wanxuedong
  • wanxuedong
  • 2016年12月07日 20:33
  • 358

ViewPager的简单用法

ViewPager 会以分页形式显示多个item对象: ViewPager中每个item构建都需要借助一个PagerAdapter类型的对象, 其应用的实现步骤: 1获得ViewPager对...
  • jinxinglin
  • jinxinglin
  • 2016年09月24日 16:55
  • 61

Android开发:史上最简单方便的viewpager加indicator的方法

开发Android应用的时候,每次给viewpager加indicator的时候,是不是感觉到很无力呢,看看JakeWharton大神的github,要么要应用library,要么把code加到自己的...
  • weidongjian
  • weidongjian
  • 2015年01月27日 10:21
  • 2839
收藏助手
不良信息举报
您举报文章:ViewPager的简单用法
举报原因:
原因补充:

(最多只允许输入30个字)