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. word里的代码格式,使之有底纹的效果

      实现效果: 怎么才能在word里实现这样的显示? 如何设置word里的代码格式,使之有底纹的效果

  2. codevs 2651 孔子教学——同桌

    2651 孔子教学--同桌 题目描述 Description 孔子是我国古代著名的教育家.他有先见之明,可以判断学生出师以后给他带来的声望.声望共有三种"G""M&quo ...

  3. WPFProgressBarAndSlider随位置显示Value

    先来一发图,有图有真相. 核心代码如下 ProgressBar添加一个textBlock 绑定Value并且位置绑定进度条的实际宽度 <Canvas Height="10" ...

  4. 这些javascript面试题,你做对了几道?

    1.---------------------------------------------------- var fun = function(){ this.name = 'peter'; re ...

  5. HTML5+JS 《五子飞》游戏实现(六)鼠标响应与多重选择

    上一章我们提到了如果有多条线上的棋子可以被吃掉,那么游戏需要提示用户,让用户选择吃哪条线上的.另外因为是网页游戏,所以一定要实现鼠标单击棋子可以进行操作. 当鼠标移动棋子上面后,切换鼠标指针为手形,移 ...

  6. 多线程处理中Future的妙用

    java 中Future是一个未来对象,里面保存这线程处理结果,它像一个提货凭证,拿着它你可以随时去提取结果.在两种情况下,离开Future几乎很难办.一种情况是拆分订单,比如你的应用收到一个批量订单 ...

  7. 怎样关闭google的自动更新

    谷歌的自动更新很烦人的,只要你点击关于Google Chrome,谷歌就会自动更新成最新版本. 但是sencha框架好像与谷歌29.0以上的兼容性不是很好,所以关闭谷歌自动更新的需求来了,网上很多人说 ...

  8. mutex与semaphore的区别

    网摘1:Mutex 的发音是 /mjuteks/ ,其含义为互斥(体),这个词是Mutual Exclude的缩写.Mutex在计算机中是互斥也就是排他持有的一种方式,和信号量-Semaphore有可 ...

  9. C# Image Resizer

    This program is used to resize images. using System; using System.Windows.Forms; using System.Drawin ...

  10. display:block、display:inline与displayinline:block的概念和区别

    总体概念 block和inline这两个概念是简略的说法,完整确切的说应该是 block-level elements (块级元素) 和 inline elements (内联元素).block元素通 ...