ViewPager在安卓应用中主要用于作为程序的引导页面,欢迎页面,以及其他的动画效果,下面将给你讲述ViewPager的使用

在Android3.0以上的Api中,提供了ViewPager的接口,所以可以直接使用,但是必须在3.0以上才可以正常使用

---------------------------------------------------------------

下面进入正题

1. 首先在Layout创建一个布局

2. 创建Java代码

① 控件初始化

private ViewPager mViewPager;

mViewPager=(ViewPager)findViewById(R.id.id_ViewPager);

ps:一定要导入import android.support.v4.view.ViewPager;

② 创建数组存放图片的id

private int[] mImagIds=new int[]{R.drawable.guide_image1,R.drawable.guide_image2,R.drawable.guide_image3};

③ 创建集合

Private List<ImageViw> mImages=new ArrayList< ImageView >():

---------------------------初始化&定义结束---------------------

④ 添加ViewPager的适配器

并且添加两个方法:

public Object instantiateItem(ViewGroup container, int position);

public void destroyItem(ViewGroup container, int position, Object object)

第一个方法:

public Object instantiateItem(ViewGroup container, int position) {

ImageView imageView=new ImageView(MainActivity.this);

imageView.setImageResource(mImagIds[position]);

imageView.setScaleType(ScaleType.CENTER_CROP); //变换

container.addView(imageView);//加入容器的类型为图片

mImages.add(imageView[s1] );//像集合中添加图片

return imageView; }

第二个方法:

public void destroyItem(ViewGroup container, int position, Object object) {

container.removeView(mImages.get(position[s2] ));

}

第三个方法:

public boolean isViewFromObject(View view, Object arg1) {

return view==arg1;

}

第四个方法:

public int getCount() {

return mImagIds.length;

}

Ps:添加变换的动画

其中DepthPageTransformer这个类是在google官网得到的

http://developer.android.com/training/animation/screen-slide.html

(由于国内对google的限制:建议采用虚拟vpn(推荐:XROUTE))

===由于复制google提供的变换动画的类有错误,需要对其进行完善

1. 导入ViewPager的包

2.


[s1]之前给ImageView创建对象,然后再把之前创建的对象添加到集合中

[s2]每当划过这张图片,将这张图片移除(通过它的position移除)

Android成长日记-ViewPager的使用的更多相关文章

  1. Android成长日记-使用PagerAdapter实现页面切换

    Tip:此方式可以实现页面切换 1. 创建view1.xml,view2.xml,view3.xml,main.xml 在main.xml中创建 <android.support.v4.view ...

  2. Android成长日记-Android四大组件之Service组件的学习

    1.什么是Service? Service是Android四大组件中与Activity最相似的组件,它们都代表可执行的程序,Service与Activity的区别在于:Service一直在后台运行,它 ...

  3. Android成长日记-数据存储之SQLite[1]

    [SQLite简介] SQLite是R.Richard Hipp用C语言编写的开源嵌入式数据库引擎.它支持大多数的SQL92标准,并且可以在所有主要的操作系统上运行 ---支持高达2TB大小的数据库: ...

  4. Android成长日记-五大布局

    1. 五布局之线性布局LinearLayout 特点:它包含的子控件将以横向或竖向的方式排列 ps:android:gravity=”center|bottom”(gravity允许多级联用) Tip ...

  5. Android成长日记-数据存储之SharedPreferences

    数据篇-SharedPreferences Android的四种存储方式 1. SharedPreferences 2. SQLite 3. Content Provider 4. File ---- ...

  6. Android成长日记-使用ViewFlipper实现屏幕切换动画效果

    (一) ViewFlipper介绍 Android系统自带的一个多页面管理控件,它可以实现子界面的自动切换 (二) 为ViewFlipper加入View 1. 静态导入:在Layout布局文件中直接导 ...

  7. Android成长日记-使用ToggleButton实现灯的开关

    案例演示 此案例实现思路:通过ToggleButton控件,ImageView控件实现 ---xml代码: <!-- textOn:true textOff:falase[s1] --> ...

  8. Android成长日记-使用Intent实现页面跳转

    Intent:可以理解为信使(意图),由Intent来协助完成Android各个组件之间的通讯 Intent实现页面之间的跳转 1->startActivity(intent) 2->st ...

  9. Android成长日记-使用GridView显示多行数据

    本节将实现以下效果 Ps:看起来很不错的样子吧,而且很像九宫格/se ----------------------------------------------------------------- ...

随机推荐

  1. [转]IIS添加MIME扩展类型及常用的MIME类型列表

    http://www.cr173.com/html/18997_1.html 经常我在用IIS做为下载服务器的时候有时传上去的文件比如 xxx.iso 文件名名是传上去了,但是用http打开的时候确显 ...

  2. Html代码保存为Pdf文件

    前段时间Insus.NET有实现了<上传Text文档并转换为PDF>http://www.cnblogs.com/insus/p/4313092.html 和<截取视图某一段另存为部 ...

  3. mvc route的注册,激活,调用流程

    mvc route的注册,激活,调用流程(三) net core mvc route的注册,激活,调用流程 mvc的入口是route,当前请求的url匹配到合适的route之后,mvc根据route所 ...

  4. 条件变量pthread_cond_t怎么用

    #include <pthread.h> #include <stdio.h> #include <stdlib.h> pthread_mutex_t mutex ...

  5. struts2和spring3.2的整合 详细演示

    1.首先我们新建一个Web工程,如下: 2.导入Spring和Struts2的jar包. 其中,struts2-spring-plugin-2.1.8.jar是struts2.spring整合的关键. ...

  6. HDU2389-Rain on your Parade-二分图匹配-ISAP

    裸二分图匹配 /*--------------------------------------------------------------------------------------*/ #i ...

  7. canvas中的碰撞检测笔记

    用 canvas 做小游戏或者特效,碰撞检测是少不了的.本文将会涉及普通的碰撞检测,以及像素级的碰撞检测.(本文的碰撞检测均以矩形为例) 普通碰撞检测 普通的矩形碰撞检测比较简单.即已知两个矩形的各顶 ...

  8. infer.net 入门2 用一个侦探故事来讲解,通俗易懂

    The results look OK, but how do you know that you aren’t missing something. Would a more sophisticat ...

  9. 学习SQLite之路(一)

    工作快一年了,接触的东西不是很多,学到的东西也不多.无意中看到公司的代码有一点关于sqlite3的(不是我这一层负责的代码),于是乎就学学试试. 参考: http://www.runoob.com/s ...

  10. OS存储器管理(一)

    存储器的层次: 分为寄存器.主存(内存)和 辅存(外存)三个层次. 主存:高速缓冲存储器.主存储器.磁盘缓冲存储器, 主存又称为可执行存储器: 辅存:固定磁盘存储器.可移动的外部存储器: 其可长期保存 ...