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 ----------------------------------------------------------------- ...
随机推荐
- Linux 进程详解
Linux内核的七大区间 .进程管理(进程创建,进程的三种状态,进程间的调度,调度算法...) .内存管理(段式管理(Linux所有段都从0开始),页式管理--地址偏移量) .系统调用(C语言库函数的 ...
- 获取iframe加载完毕事件
function IframeLoad(o,fn) { if (document.all) { o.attachEvent('onload', fn); } else { o.onload = fn; ...
- flex弹性布局学习笔记
前言 资料来源于网络,本人只是对此作了一下操作,记录于此以便以后查阅.目的在于梳理自己前端凌乱的知识点. 本文根据 Brian Franco 的一个flexbox.scss库来记录 入职新公司前对移动 ...
- SQLServer中的事务与锁
事务:保持逻辑数据一致性与可恢复性,必不可少的利器. 锁:多用户访问同一数据库资源时,对访问的先后次序权限管理的一种机制,没有他事务或许将会一塌糊涂,不能保证数据的安全正确读写. 死锁:是数据库性能的 ...
- Xen虚拟化基本原理详解
标签:虚拟化 xen 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://wangzan18.blog.51cto.com/80210 ...
- matlab中的xcorr 自相关函数
转载自 http://blog.163.com/to_be_myself/blog/static/176060227201101762159227/ Matlab中用于计算自相关函数的指令是xcorr ...
- ajax 跨域提交数据
$.ajax({ url:"http://my.demo.com/jsonp/server.php",//不同域的文件; cache: false, //是否使用缓存; error ...
- iOS -- autoResizingMask使用(转)
autoResizingMask 是UIView的一个属性,在一些简单的布局中,使用autoResizingMask,可以实现子控件相对于父控件的自动布局. autoResizingMask 是UIV ...
- 屠龙之路_坚持就是胜利_NinthDay
狭小的空间里,屠龙天团的少年们和alpha恶龙苦苦对峙了一夜!这恶龙还挺能熬的,厉害了word龙.无奈之下,五更天的时候,我们的屠龙少年只能先退出战场养精蓄锐,为了不让恶龙再次逍遥法外,机智的屠龙队长 ...
- Bete冲刺第四阶段
Bete冲刺第四阶段 今日工作: web: 昨晚搞得很晚,帮队友搞定了git的问题,仓库顿时干净多了,同时已经基本完成了基础功能的接口 ios: 导入并使用了改善交互的第三方开源库,修正路径BUG 目 ...