Android成长日记-ViewPager的使用
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的使用的更多相关文章
- Android成长日记-使用PagerAdapter实现页面切换
Tip:此方式可以实现页面切换 1. 创建view1.xml,view2.xml,view3.xml,main.xml 在main.xml中创建 <android.support.v4.view ...
- Android成长日记-Android四大组件之Service组件的学习
1.什么是Service? Service是Android四大组件中与Activity最相似的组件,它们都代表可执行的程序,Service与Activity的区别在于:Service一直在后台运行,它 ...
- Android成长日记-数据存储之SQLite[1]
[SQLite简介] SQLite是R.Richard Hipp用C语言编写的开源嵌入式数据库引擎.它支持大多数的SQL92标准,并且可以在所有主要的操作系统上运行 ---支持高达2TB大小的数据库: ...
- Android成长日记-五大布局
1. 五布局之线性布局LinearLayout 特点:它包含的子控件将以横向或竖向的方式排列 ps:android:gravity=”center|bottom”(gravity允许多级联用) Tip ...
- Android成长日记-数据存储之SharedPreferences
数据篇-SharedPreferences Android的四种存储方式 1. SharedPreferences 2. SQLite 3. Content Provider 4. File ---- ...
- Android成长日记-使用ViewFlipper实现屏幕切换动画效果
(一) ViewFlipper介绍 Android系统自带的一个多页面管理控件,它可以实现子界面的自动切换 (二) 为ViewFlipper加入View 1. 静态导入:在Layout布局文件中直接导 ...
- Android成长日记-使用ToggleButton实现灯的开关
案例演示 此案例实现思路:通过ToggleButton控件,ImageView控件实现 ---xml代码: <!-- textOn:true textOff:falase[s1] --> ...
- Android成长日记-使用Intent实现页面跳转
Intent:可以理解为信使(意图),由Intent来协助完成Android各个组件之间的通讯 Intent实现页面之间的跳转 1->startActivity(intent) 2->st ...
- Android成长日记-使用GridView显示多行数据
本节将实现以下效果 Ps:看起来很不错的样子吧,而且很像九宫格/se ----------------------------------------------------------------- ...
随机推荐
- word里的代码格式,使之有底纹的效果
实现效果: 怎么才能在word里实现这样的显示? 如何设置word里的代码格式,使之有底纹的效果
- codevs 2651 孔子教学——同桌
2651 孔子教学--同桌 题目描述 Description 孔子是我国古代著名的教育家.他有先见之明,可以判断学生出师以后给他带来的声望.声望共有三种"G""M&quo ...
- WPFProgressBarAndSlider随位置显示Value
先来一发图,有图有真相. 核心代码如下 ProgressBar添加一个textBlock 绑定Value并且位置绑定进度条的实际宽度 <Canvas Height="10" ...
- 这些javascript面试题,你做对了几道?
1.---------------------------------------------------- var fun = function(){ this.name = 'peter'; re ...
- HTML5+JS 《五子飞》游戏实现(六)鼠标响应与多重选择
上一章我们提到了如果有多条线上的棋子可以被吃掉,那么游戏需要提示用户,让用户选择吃哪条线上的.另外因为是网页游戏,所以一定要实现鼠标单击棋子可以进行操作. 当鼠标移动棋子上面后,切换鼠标指针为手形,移 ...
- 多线程处理中Future的妙用
java 中Future是一个未来对象,里面保存这线程处理结果,它像一个提货凭证,拿着它你可以随时去提取结果.在两种情况下,离开Future几乎很难办.一种情况是拆分订单,比如你的应用收到一个批量订单 ...
- 怎样关闭google的自动更新
谷歌的自动更新很烦人的,只要你点击关于Google Chrome,谷歌就会自动更新成最新版本. 但是sencha框架好像与谷歌29.0以上的兼容性不是很好,所以关闭谷歌自动更新的需求来了,网上很多人说 ...
- mutex与semaphore的区别
网摘1:Mutex 的发音是 /mjuteks/ ,其含义为互斥(体),这个词是Mutual Exclude的缩写.Mutex在计算机中是互斥也就是排他持有的一种方式,和信号量-Semaphore有可 ...
- C# Image Resizer
This program is used to resize images. using System; using System.Windows.Forms; using System.Drawin ...
- display:block、display:inline与displayinline:block的概念和区别
总体概念 block和inline这两个概念是简略的说法,完整确切的说应该是 block-level elements (块级元素) 和 inline elements (内联元素).block元素通 ...