android网页接口实现方法,Android开发:ViewPage滑动接口最详细解析

本文主要是介绍android网页接口实现方法,Android开发:ViewPage滑动接口最详细解析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

73187304ffd7

前言

ViewPager在Android开发中使用场景实在是太多了:广告Banner、滑动展示、启动页、欢迎页等等

在上一篇文章我已经介绍过Viewpage的基础知识,阅读本文前请先看Android开发:ViewPage简介&使用教程

ViewPager的关键在于页面滑动,今天,我将对滑动事件的接口OnPageChangeListener()进行详细介绍与分析

目录

73187304ffd7

目录

1.滑动接口介绍

Viewpage的滑动接口:OnPageChangeListener()

在OnPageChangeListener接口里,必须复写的三个方法:

onPageScrollStateChanged(int arg0)

onPageScrolled (int arg0,float arg1,int arg2)

onPageSelected(int arg0)

2. 复写方法介绍

2.1 onPageScrollStateChanged(int arg0)

方法调用:页面状态改变时

页面状态分为静止、滑动时和滑动后

参数说明:arg0=页面状态,页面状态分别是:

SCROLL_STATE_IDLE:空闲状态

SCROLL_STATE_DRAGGING:滑动状态

SCROLL_STATE_SETTLING:滑动后自然沉降的状态

2.2 onPageScrolled(int arg0,float arg1,int arg2)

方法调用:当页面在滑动时至滑动被停止之前,此方法会一直调用

参数说明:

arg0 :当前页面,及你点击滑动的页面

arg1:当前页面偏移的百分比

arg2:当前页面偏移的像素位置

2.3 onPageSelected(int arg0)

方法调用:页面跳转完后调用

参数说明:arg0=当前选中页面的Position(位置编号)

3. 具体调用顺序(附实例)

我将用“滑动一次页面:从欢迎页1滑动到欢迎页2”的实例来说明上述复写方法的调用顺序。

73187304ffd7

实例示意图

3.1 具体代码(同时复写了上述3个方法)

//设置viewPager页面滑动的事件

viewpager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {

//页面状态改变时调用

@Override

public void onPageScrollStateChanged(int arg0) {

switch (arg0) {

case ViewPager.SCROLL_STATE_IDLE:

System.out.println("onPageScrollStateChanged==SCROLL_STATE_IDLE==空闲状态");

break;

case ViewPager.SCROLL_STATE_DRAGGING:

System.out.println("onPageScrollStateChanged==SCROLL_STATE_DRAGGING==正在滑动");

break;

case ViewPager.SCROLL_STATE_SETTLING:

System.out.println("onPageScrollStateChanged==SCROLL_STATE_SETTLING==自然沉降");

break;

}

}

//页面滑动过程中调用

@Override

public void onPageScrolled(int arg0, float arg1, int arg2) {

System.out.println("onPageScrolled==滑动中==滑动前页面位置是:”+arg0);

}

//页面滑动后调用

@Override

public void onPageSelected(int arg0) {

System.out.println("onPageSelected==滑动后==页面停留位置是:"+arg0);

}

});

3.2 结果显示

73187304ffd7

结果分析

3.3 结果详细分析

一张图让你完全了解Viewpage滑动接口复写方法的调用顺序!

73187304ffd7

结果详细分析

4. 总结

经过上面的详细讲解,相信大家现在对Viewpage已经非常了解

接下来,我会继续讲解Android开发中其他知识,感兴趣的同学可以继续关注本人运营的Wechat Public Account:

请点赞!因为你的鼓励是我写作的最大动力!

不定期分享关于安卓开发的干货,追求短、平、快,但却不缺深度。

73187304ffd7

这篇关于android网页接口实现方法,Android开发:ViewPage滑动接口最详细解析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/420394

相关文章

Java实现优雅日期处理的方案详解

《Java实现优雅日期处理的方案详解》在我们的日常工作中,需要经常处理各种格式,各种类似的的日期或者时间,下面我们就来看看如何使用java处理这样的日期问题吧,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言一、日期的坑1.1 日期格式化陷阱1.2 时区转换二、优雅方案的进阶之路2.1 线程安全重构2

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

使用Python实现图像LBP特征提取的操作方法

《使用Python实现图像LBP特征提取的操作方法》LBP特征叫做局部二值模式,常用于纹理特征提取,并在纹理分类中具有较强的区分能力,本文给大家介绍了如何使用Python实现图像LBP特征提取的操作方... 目录一、LBP特征介绍二、LBP特征描述三、一些改进版本的LBP1.圆形LBP算子2.旋转不变的LB

Redis消息队列实现异步秒杀功能

《Redis消息队列实现异步秒杀功能》在高并发场景下,为了提高秒杀业务的性能,可将部分工作交给Redis处理,并通过异步方式执行,Redis提供了多种数据结构来实现消息队列,总结三种,本文详细介绍Re... 目录1 Redis消息队列1.1 List 结构1.2 Pub/Sub 模式1.3 Stream 结

C# Where 泛型约束的实现

《C#Where泛型约束的实现》本文主要介绍了C#Where泛型约束的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录使用的对象约束分类where T : structwhere T : classwhere T : ne

Python中__init__方法使用的深度解析

《Python中__init__方法使用的深度解析》在Python的面向对象编程(OOP)体系中,__init__方法如同建造房屋时的奠基仪式——它定义了对象诞生时的初始状态,下面我们就来深入了解下_... 目录一、__init__的基因图谱二、初始化过程的魔法时刻继承链中的初始化顺序self参数的奥秘默认

将Java程序打包成EXE文件的实现方式

《将Java程序打包成EXE文件的实现方式》:本文主要介绍将Java程序打包成EXE文件的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录如何将Java程序编程打包成EXE文件1.准备Java程序2.生成JAR包3.选择并安装打包工具4.配置Launch4

html5的响应式布局的方法示例详解

《html5的响应式布局的方法示例详解》:本文主要介绍了HTML5中使用媒体查询和Flexbox进行响应式布局的方法,简要介绍了CSSGrid布局的基础知识和如何实现自动换行的网格布局,详细内容请阅读本文,希望能对你有所帮助... 一 使用媒体查询响应式布局        使用的参数@media这是常用的

MySQL索引的优化之LIKE模糊查询功能实现

《MySQL索引的优化之LIKE模糊查询功能实现》:本文主要介绍MySQL索引的优化之LIKE模糊查询功能实现,本文通过示例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一、前缀匹配优化二、后缀匹配优化三、中间匹配优化四、覆盖索引优化五、减少查询范围六、避免通配符开头七、使用外部搜索引擎八、分

Python实现特殊字符判断并去掉非字母和数字的特殊字符

《Python实现特殊字符判断并去掉非字母和数字的特殊字符》在Python中,可以通过多种方法来判断字符串中是否包含非字母、数字的特殊字符,并将这些特殊字符去掉,本文为大家整理了一些常用的,希望对大家... 目录1. 使用正则表达式判断字符串中是否包含特殊字符去掉字符串中的特殊字符2. 使用 str.isa