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

相关文章

C# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优

深度解析Java DTO(最新推荐)

《深度解析JavaDTO(最新推荐)》DTO(DataTransferObject)是一种用于在不同层(如Controller层、Service层)之间传输数据的对象设计模式,其核心目的是封装数据,... 目录一、什么是DTO?DTO的核心特点:二、为什么需要DTO?(对比Entity)三、实际应用场景解析

关于集合与数组转换实现方法

《关于集合与数组转换实现方法》:本文主要介绍关于集合与数组转换实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、Arrays.asList()1.1、方法作用1.2、内部实现1.3、修改元素的影响1.4、注意事项2、list.toArray()2.1、方

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

Java中的雪花算法Snowflake解析与实践技巧

《Java中的雪花算法Snowflake解析与实践技巧》本文解析了雪花算法的原理、Java实现及生产实践,涵盖ID结构、位运算技巧、时钟回拨处理、WorkerId分配等关键点,并探讨了百度UidGen... 目录一、雪花算法核心原理1.1 算法起源1.2 ID结构详解1.3 核心特性二、Java实现解析2.

使用Python实现可恢复式多线程下载器

《使用Python实现可恢复式多线程下载器》在数字时代,大文件下载已成为日常操作,本文将手把手教你用Python打造专业级下载器,实现断点续传,多线程加速,速度限制等功能,感兴趣的小伙伴可以了解下... 目录一、智能续传:从崩溃边缘抢救进度二、多线程加速:榨干网络带宽三、速度控制:做网络的好邻居四、终端交互

Python中注释使用方法举例详解

《Python中注释使用方法举例详解》在Python编程语言中注释是必不可少的一部分,它有助于提高代码的可读性和维护性,:本文主要介绍Python中注释使用方法的相关资料,需要的朋友可以参考下... 目录一、前言二、什么是注释?示例:三、单行注释语法:以 China编程# 开头,后面的内容为注释内容示例:示例:四

SpringBoot整合liteflow的详细过程

《SpringBoot整合liteflow的详细过程》:本文主要介绍SpringBoot整合liteflow的详细过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋...  liteflow 是什么? 能做什么?总之一句话:能帮你规范写代码逻辑 ,编排并解耦业务逻辑,代码