Android之ViewPager组件实现左右滑动View
- 什么是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的更多相关文章
- Android 使用ViewPager实现左右循环滑动图片
ViewPager这个小demo实现的是可以左右循环滑动图片,下面带索引,滑到最后一页在往右滑动就要第一页,第一页往左滑动就到最后一页,先上效果图,用美女图片是我一贯的作风,呵呵 1. 首先看一 ...
- Android使用ViewPager实现左右循环滑动及轮播效果
边界的时候会看到一个不能翻页的动画,可能影响用户体验.此外,某些区域性的ViewPager(例如展示广告或者公告之类的ViewPager),可能需要自动轮播的效果,即用户在不用滑动的情况下就能够看到其 ...
- android笔记:ViewPager实现界面的滑动
最近在学习ViewPager实现界面的滑动,拜读了郭神的博客文章,并抽取归纳了自己对ViewPager的理解. ViewPager实现界面滑动的步骤如下: 1.在xml布局内加入控件android.s ...
- android 解决ViewPager双层嵌套的滑动问题
解决ViewPager双层嵌套的滑动问题 今天我分享一下ViewPager的双层嵌套时影响内部ViewPager的触摸滑动问题 之前在做自己的一个项目的时候,遇到广告栏图片动态切换,我第一时间想到的就 ...
- Android使用ViewPager实现无限循环滑动及轮播(附源代码)
MainActivity例如以下: package cc.ww; import java.util.ArrayList; import android.app.Activity; import and ...
- Android listview viewpager解决冲突 滑动
Android listview viewpager滑动 跳动 冲突解决 ListView中嵌套ViewPage有或者滑动手势冲突解决 在listview 上使用 addHeaderView 在第 ...
- Android学习笔记:使用ViewPager组件实现图片切换
在很多App中,尤其是第一次安装启动后,都会出现几个图片进行一些app的介绍和说明,图片可以随着滑动而切换. 我们这里利用 ViewPager组件来演示如何实现这一点. 1.创建一个app工程,默认创 ...
- android 开发 实现一个app的引导页面,使用ViewPager组件(此引导的最后一页的Button会直接写在最后一页布局里,跟随布局滑进滑出)
基本ViewPager组件使用方式与我之前写的https://blog.csdn.net/qq_37217804/article/details/80332634 这篇博客一致. 下面我们将重点详细解 ...
- 114、Android禁止ViewPager的左右滑动
有时候在开发中会遇到一些“诡异”的要求,比如在ViewPager中嵌入ListView,或者再嵌入一个ViewPager,那么在滑动的时候就会造成被嵌入的XXView不能滑动了,那么现在就把最外层的V ...
随机推荐
- SeleniumIDE从0到1 (Selenium IDE 安装)
换了工作后需要学习到自动化测试,经过一系列的筛选,最终选定了Selenium,原因是因为本人熟悉一点代码,用Selenium比较容易上手.刚开始接触Selenium的小伙伴是不是会觉得不知道从何动手呢 ...
- (转)jQuery源码解读 -- jQuery v1.10.2
原文GitHub链接: https://github.com/chokcoco/jQuery-
- DllImport attribute的总结
C#有没有方法可以直接都用已经存在的功能(比如Windows中的一些功能,C++中已经编写好的一些方法),而不需要重新编写代码? 答案是肯定,就是通过接下来要说的 DllImport . DllImp ...
- 描述性统计分析-用脚本将统计量函数批量化&分步骤逐一写出
计算各种描述性统计量函数脚本(myDescriptStat.R)如下: myDescriptStat <- function(x){ n <- length(x) #样本数据个数 m &l ...
- all ,any,abs的使用
#!/usr/bin/env python #all循环参数,如果每个元素都为真,那么all的返回值为真 r = all([True,'sad','asd']) print(r) #any 只有一个真 ...
- Node.js学习笔记:setImmediate与process.nextTick
通过process.nextTick注册的函数在当前这个事件循环中执行的函数执行完毕后立即执行,相当于把当前的同步代码执行完毕之后,立刻执行所有的通过process.nextTick注册的函数,如果注 ...
- final finally finalize
final //如果不是final 的话,我可以在checkInt方法内部把i的值改变(有意或无意的, //虽然不会改变实际调用处的值),特别是无意的,可能会引用一些难以发现的BUG ...
- iOS runtime 初步学习
注: 在Xocde5之后, 使用运行时方法需要进行2步设置1. 在Build Setting中搜索'msg', 设置'Strict Checking' 为 NO2. 使用需要导入头文件 #import ...
- php总结 --- 18. 七牛云存储
第三方资源拉取 /** * 七牛云抓取文件 * @param string $url 文件URL地址 * * 参考地址:http://developer.qiniu.com/code/v6/api/k ...
- sshfs三步走----实用(mac)
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #ffffff } p.p2 { margin: 0.0px 0. ...