• 什么是ViewPager

  VIewPager是安卓3.0之后提供的新特性,继承自ViewGroup,专门用来实现左右滑动切换View的效果。如果想向下兼容需要

android-support-v4.jar这个包的支持。

  ViewPager与ListView的常用控件的实现方式差不多,步骤如下:

  步骤:声明实例化控件->设置数据源->配置适配器->绑定适配器->(添加监听)

  

  • 声明控件

  使用该类时,需要在BuildPath中加入“android-support-v4.jar”

     <android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
  • 数据源

  数据源是一个存放着View对象的集合,实现方式有2种:

1、通过XML配置文件,把对应的页面设置好,然后把xml配置文件转换成view对象并载入这个集合里

2、通过代码动态生成,把生成的View对象载入到集合里。

  • 适配器

  需要重写一个类继承PagerAdapter类,并重写相对应的方法

@Override
public int getCount() {//返回页面数量
return 0;
} @Override
public boolean isViewFromObject(View arg0, Object arg1) {//判断是否是view对象
return false;
} @Override
public Object instantiateItem(View container, int position) {//实例化一个页面
return super.instantiateItem(container, position);
} @Override
public void destroyItem(View container, int position, Object object) {//销毁一个页面
super.destroyItem(container, position, object);
}
  • 事件监听

  ViewPager在处理滑动事件时需要用到OnPageChangeListener,这个接口需要实现三个方法

@Override    //当页面跳转完后调用,position为当前选中页面的position
public void onPageSelected(int position) { 
  return position;
} @Override //当页面在滑动时会调用此方法,arg0为当前页面,arg1为当前页面偏移百分比,arg2为当前页面偏移的像素位置
public void onPageScrolled(int arg0, float arg1, int arg2) { 

}

@Override  //状态改变时调用,有三种状态(0,1,2),0表示什么都没做,1表示正在滑动,2表示滑动完毕了
public void onPageScrollStateChanged(int arg0) {
}

程序猿必读

Android之ViewPager组件实现左右滑动View的更多相关文章

  1. Android 使用ViewPager实现左右循环滑动图片

    ViewPager这个小demo实现的是可以左右循环滑动图片,下面带索引,滑到最后一页在往右滑动就要第一页,第一页往左滑动就到最后一页,先上效果图,用美女图片是我一贯的作风,呵呵 1.    首先看一 ...

  2. Android使用ViewPager实现左右循环滑动及轮播效果

    边界的时候会看到一个不能翻页的动画,可能影响用户体验.此外,某些区域性的ViewPager(例如展示广告或者公告之类的ViewPager),可能需要自动轮播的效果,即用户在不用滑动的情况下就能够看到其 ...

  3. android笔记:ViewPager实现界面的滑动

    最近在学习ViewPager实现界面的滑动,拜读了郭神的博客文章,并抽取归纳了自己对ViewPager的理解. ViewPager实现界面滑动的步骤如下: 1.在xml布局内加入控件android.s ...

  4. android 解决ViewPager双层嵌套的滑动问题

    解决ViewPager双层嵌套的滑动问题 今天我分享一下ViewPager的双层嵌套时影响内部ViewPager的触摸滑动问题 之前在做自己的一个项目的时候,遇到广告栏图片动态切换,我第一时间想到的就 ...

  5. Android使用ViewPager实现无限循环滑动及轮播(附源代码)

    MainActivity例如以下: package cc.ww; import java.util.ArrayList; import android.app.Activity; import and ...

  6. Android listview viewpager解决冲突 滑动

    Android listview viewpager滑动 跳动 冲突解决 ListView中嵌套ViewPage有或者滑动手势冲突解决   在listview 上使用 addHeaderView 在第 ...

  7. Android学习笔记:使用ViewPager组件实现图片切换

    在很多App中,尤其是第一次安装启动后,都会出现几个图片进行一些app的介绍和说明,图片可以随着滑动而切换. 我们这里利用 ViewPager组件来演示如何实现这一点. 1.创建一个app工程,默认创 ...

  8. android 开发 实现一个app的引导页面,使用ViewPager组件(此引导的最后一页的Button会直接写在最后一页布局里,跟随布局滑进滑出)

    基本ViewPager组件使用方式与我之前写的https://blog.csdn.net/qq_37217804/article/details/80332634 这篇博客一致. 下面我们将重点详细解 ...

  9. 114、Android禁止ViewPager的左右滑动

    有时候在开发中会遇到一些“诡异”的要求,比如在ViewPager中嵌入ListView,或者再嵌入一个ViewPager,那么在滑动的时候就会造成被嵌入的XXView不能滑动了,那么现在就把最外层的V ...

随机推荐

  1. Eclipse 的快捷键以及文档注释、多行注释的快捷键

    一.多行注释快捷键 1.选中你要加注释的区域,用ctrl+shift+C 或者ctrl+/ 会加上//注释2.先把你要注释的东西选中,用shit+ctrl+/ 会加上/*    */注释 3.以上快捷 ...

  2. spring mvc的拦截器

    package com.tech.jin.interceptor.method; import java.util.Arrays; import java.util.Map; import java. ...

  3. Mac > 编写跨平台桌面应用开发工具,基于 Web 技术

    Electron: The Electron framework lets you write cross-platform desktop applications using JavaScript ...

  4. Android静默安装实现方案

    之前有很多朋友都问过我,在Android系统中怎样才能实现静默安装呢?所谓的静默安装,就是不用弹出系统的安装界面,在不影响用户任何操作的情况下不知不觉地将程序装好.虽说这种方式看上去不打搅用户,但是却 ...

  5. http错误码

    2xx  成功  200  正常:请求已完成.  201  正常:紧接 POST 命令.  202  正常:已接受用于处理,但处理尚未完成.  203  正常:部分信息 - 返回的信息只是一部分.   ...

  6. 渗透杂记-2013-07-13 关于SMB版本的扫描

    smb2的溢出,其实在metasploit里面有两个扫描器可以用,效果都差不多,只是一个判断的更加详细,一个只是粗略的判断. Welcome to the Metasploit Web Console ...

  7. python学习总结03

    1.开启虚拟技术 1.1 安装virtualenv 1.1.1 在python环境中运行pip install virtualenv 出现如下信息表示安装成功 1.1.2 进入python的Scrip ...

  8. Xcode8 适配iOS10时遇见的一些问题

    1.证书管理 用Xcode8打开工程后,比较明显的就是下图了,这个是苹果的新特性,可以帮助我们自动管理证书.建议大家勾选这个Automatically manage signing(Ps.但是在bea ...

  9. 相机位姿估计0:基本原理之如何解PNP问题

    关键词:相机位姿估计 PNP问题求解 用途:各种位姿估计 文章类型:原理 @Author:VShawn(singlex@foxmail.com) @Date:2016-11-18 @Lab: CvLa ...

  10. 转 unity 优化

    最近研究U3D开发,个人认为,精通一种新的技术,最快最好的方法就是看它的document,而且个人习惯不喜欢看中文的资料,原汁原味的东西是最正确的,一翻译过来很多东西就都不那么准确了.于是通读了uni ...