ViewPager的左右循环滑动

viewpager实现自动滑动以及手势滑动功能 今天在做项目的时候,有一个viewpgaer展示图片的页面,第一反应是去网上查找,后来看了好多文章,其实也就是那么两三篇文章,其他的都是转载来转载去的,主要就是运用线程来进行无限循环进行实现的操作,个人感觉并不需要运用到线程,尤其是你写了死循环后,线程的回收就是个问题,所以就寻思着自己实现功能好了。 先看效果图吧: 实现思路: 在项目里比较重要的两个东西,一个是ha 阅读详情

不知道ViewPager怎么使用的同学自己去网上搜,本文只讲如何实现左右循环滑动。

有两处关键代码,第一处,生成用于PagerAdapter的View列表:

    private List<View> initViews(){
        List<View> listViews = new ArrayList<View>();
        
        MyView v1 = new MyView(this, R.layout.view1);
        MyView v2 = new MyView(this, R.layout.view2);
        MyView v3 = new MyView(this, R.layout.view3);
        
        // 循环滑动:头部添加一个和原尾部相同的view,尾部添加一个和原头部相同的view
        MyView v0 = new MyView(this, R.layout.view3);
        MyView v4 = new MyView(this, R.layout.view1);
        
        listViews.add(v0);
        listViews.add(v1);
        listViews.add(v2);
        listViews.add(v3);
        listViews.add(v4);        
        
        return listViews;
    }
第二处,重写OnPageChangeListener的onPageSelected方法,当前页为0时改为倒数第二个,也就是实际需要的最后一个view;当前页为最后一个时改为第二个,即实际上的第一个view:

    public void onPageSelected(int arg0) {
         if(arg0 == 0){
             mPager.setCurrentItem(listViews.size() - 2, false);
         } else if(arg0 == listViews.size() - 1){
             mPager.setCurrentItem(1, false);
         }
    }
不要忘记在初始化时设置当前view为1,而不是默认的0:

    mPager.setCurrentItem(1);

如果不想循环,但是想左右两头仍可以滑动,松开手后仍保持在原来的view,可以做如下改动。

首先,头尾各添加两个空view:

    private List<View> initViews(){
        ......
        listViews.add(new View(this));
        listViews.add(v1);
        listViews.add(v2);
        listViews.add(v3);
        listViews.add(new View(this));    
        ......
    }
然后,OnPageChangeListener的onPageSelected方法改为下面的形式:

    public void onPageSelected(int arg0) {
         if(arg0 == 0){
             mPager.setCurrentItem(1, false);
         } else if(arg0 == listViews.size() - 1){
             mPager.setCurrentItem(listViews.size() - 2, false);
         }
    }


论文分享 - OctoMap八叉树建图原理 论文:OctoMap:An Efficient Probabilistic 3D Mapping Framework Based on Octrees。 阅读详情

相关推荐

当 AI + 可视化融入消防:开启智能消防新时代

总结来说,AI + 可视化技术融入消防,开启了智能消防新时代。它以精准预警、高效救援和全面资源管理,革新消防工作方式。从前期规划到系统搭建,再到后期运维,每个环节都为提升消防能力奠定基础。尽管面临技术成本、数据安全和人员适应等挑战,但随着技术发展和应用推广,这些问题将逐步解决。相信在 AI + 可视化助力下,消防领域将不断进步,为人们创造更安全生活环境,有效抵御火灾威胁。

2401_87844374的博客 1221

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

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

ytfghytf的博客 542

Spring Boot与Apache Ignite集成:构建高性能分布式缓存和计算平台

Apache Ignite是一个高性能的分布式内存计算平台,支持内存缓存、分布式计算、流处理和机器学习等功能。它提供了低延迟的数据访问和强大的计算能力,适用于需要高性能和可扩展性的应用。将Apache Ignite集成到Spring Boot应用中,可以显著提高应用的性能和可扩展性。Spring Boot的简单配置和Ignite的强大功能相结合,使得开发和部署更加高效。首先,创建一个新的Spring Boot项目。可以通过Spring Initializr(https://start.spring.io/)

九天的专栏 2143

Android动态控制Viewpager左右滑动功能

正确的可以动态控制左右滑动的ViewPager, 禁止ViewPager左右滑动

有个学长 685

瑞芯微RK3588与FPGA的PCIe DMA通信性能优化实战

本文深入探讨了瑞芯微RK3588与FPGA之间PCIe DMA通信的性能优化实战。针对高速数据采集、AI推理等场景下的带宽瓶颈,文章从驱动配置、DMA描述符、中断处理、零拷贝技术及系统级调优等多个层面,提供了详细的优化策略与代码示例,旨在充分释放PCIe 3.0的理论带宽潜力,提升数据传输效率与稳定性。

sand8的博客 418

Fofa API高阶玩法:用Python批量获取漏洞资产(含OA系统扫描实战)

本文详细介绍了如何利用Python结合Fofa API实现自动化漏洞资产收集的高阶实战技巧。通过构建健壮的客户端、设计精准查询语法、实现多线程批量采集,并以OA系统漏洞扫描为例,演示了从资产发现、过滤验证到报告生成的全流程,旨在提升安全运维与应急响应的效率。

weixin_28607671的博客 498

Android---ViewPager的使用「创建页面的左右滑动」

ViewPager的使用「创建页面的左右滑动」viewpager_Activity.javalayout_viewpager.xmlMyFragment1.java (java文件)MyFragment2.java (java文件)MyFragment3.java (java文件)MyFragment4.java (java文件)layout_fragment1.xmllayout_fragment2.xmllayout_fragment3.xmllayout_fragment4.xmlMyPagerAda

hey,欢迎浏览我的博客,希望能给你提供帮助。 1148

2025资源从哪里来!

研究网络通信中的安全问题,如VLAN划分、路由协议(静态、动态如OSPF、BGP)、NAT转换、AAA认证、访问控制列表(ACL)等。‌Wi-Fi安全设置‌、‌密码破解原理‌(仅用于合法测试或教育目的)、‌常见Web安全问题‌如SQL注入、XSS跨站脚本攻击等的防范措施。在这个网站你可以找到你对应的专业-对应的路线-对应的资源-对应的百度网盘里面全是免费的资源------------------惊喜不?‌防火墙配置与策略‌、‌入侵检测与防御系统(IDS/IPS)‌、‌端口扫描与漏洞扫描技术‌等。

qq_56248592的博客 1905

ViewPager在首尾页滑动切换

转载自:http://www.cnblogs.com/xiabi/p/4343030.html   上图是我们需要实现的效果图,功能有如下三个:   1. 手势滑动可以切换界面,点击上面的引导一到引导四也可以切换到相应的画面。   2. 切换界面时,引导一到引导四下面的横线会相应的移动到对应的地方。   3. 没有手势时,界面会自动轮转,有种广告轮转的效

shw372029857的博客 1724

解锁RK3588:内核模块签名与安全启动配置全攻略

RK3588作为一款高性能嵌入式SoC芯片,其内核模块签名与安全启动配置是保障系统安全的核心机制。本文详细介绍了RK3588的芯片特性,重点阐述了安全启动的硬件信任链原理和内核模块签名的实现方法。通过具体步骤演示了从密钥生成、模块签名到验证加载的完整流程,并深入解析了安全启动配置的硬件连接、软件工具准备、密钥烧录等关键环节。此外,还提出了防御旁路攻击和动态信任链扩展等高级安全策略,为RK3588在工业控制、智能安防等高安全要求场景中的应用提供了全面的安全解决方案。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 348

打开.nc降水气象数据制作年降水量地图

图层的单位为度,在反距离插值中也是以度为单位,比较麻烦,还是想用以m为单位的投影,这里是个bug,后续调整一下。该彩色部分是以2021年1月、2月、3月的降水数据分别作为RGB得到。因为该栅格的分辨率还是太大了,一个栅格就能覆盖一个县,若想要进行降尺度,可以做插值处理。下载的数据集为2021-2022年,因此有12+12=24个月,24个波段。想要得到廊坊市周围的数据,需要裁剪范围,在降水数据图层上导出数据。打开数据管理工具-投影和变换-定义投影。在降水数据图层上右击属性,添加投影。得到了降尺度的插值图。

所有专家都曾始于新手 4520

使用ViewPager实现左右循环滑动 总结

最近项目中要用到ViewPager,在使用中遇到了几个问题,总结下。 首先ViewPager用的时候有两种写法,在之前发的两个文章中分别介绍了。这里再说下,主要怕自己忘了,呵呵 1,  protected void onCreate(Bundle savedInstanceState) {           super.onCreate(savedInstanceState)

small5e4444的专栏 4421

AMBA-AXI and ACE协议详解(十)

本章介绍了ACE协议中的Barrier事务机制,包括内存屏障和同步屏障两种类型。

Crazzy_M的博客 614

android 横向循环滑动,使用ViewPager实现左右循环滑动及滑动跳转

前面一篇文章实现了使用viewpager实现高仿launcher拖动效果 ,后来很多朋友问能不能实现左右循环滑动效果和引导页面。今天实现了左右滑动,至于在最后一页滑动跳转,这个也做了但是效果不是太好,也希望有实现的朋友能够分享下。在最后一页添加一张图片单击跳转,这个认为很简单大家自己添加个图片,点击后跳转就ok。这篇是在实现了使用viewpager实现高仿launcher拖动效果的基础上做了一些小...

weixin_35827472的博客 290

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

ViewPager实现真正的左右无限循环滑动

最近由于项目需要需要实现左右无限滑动展示信息的功能,在网上找到了这篇文章转载给朋友们 因此第一反应就是使用viewpager,但是Android原生的viewpager不支持左右无限滑动,在网上也找了好多资料都不是很满意,有的说在适配器中把返回的大小设置为很大,然后初始化时再取中间位,因为一般人不会那么无聊的一直向右或左滑到尽头,但是我觉得这种方法不是很好,浪费资源,也容易报错。因此就viewp...

xiaodongvtion的专栏 2254

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

实现ViewPager的左右循环滑动

在网上找过好多关于如何实现ViewPager的左右循环滑动,但是总是要么实现起来复杂,要么根本就没完全实现左右循环滑动效果,所以自己实现一个,代码如下文。 代码不需要修改PagerAdapter

qq1137830424的博客 633

android横向循环滚动,安卓之使用ViewPager实现左右循环滑动

前面一篇文章实现了使用ViewPager实现高仿launcher拖动效果,后来很多朋友问能不能实现左右循环滑动效果和引导页面。今天实现了左右滑动,至于在最后一页滑动跳转,这个也做了但是效果不是太好,也希望有实现的朋友能够分享下。在最后一页添加一张图片单击跳转,这个认为很简单大家自己添加个图片,点击后跳转就OK。这篇是在实现了使用ViewPager实现高仿launcher拖动效果的基础上做了一些小...

weixin_42476912的博客 568

使用ViewPager实现左右循环滑动

    前面一篇文章实现了使用ViewPager实现高仿launcher拖动效果 ,后来很多朋友问能不能实现左右循环滑动效果和引导页面。今天实现了左右滑动,至于在最后一页滑动跳转,这个也做了但是效果不是太好,也希望有实现的朋友能够分享下。在最后一页添加一张图片单击跳转,这个认为很简单大家自己添加个图片,点击后跳转就OK。            这篇是在实现了使用ViewPager实现...

既是过河之卒,惟有奋力向前。 143

左右循环滑动的viewpager

说明: 左右循环滑动,就是A,B,C三个View,A -> B -> C -> A…循环,反过来滑动效果一样。 逛GitHub找到个不错的库,实现了左右循环滑动的ViewPager,分享一下,LoopingViewPager。用法和ViewPager一样,要加入这个效果,只要替换掉ViewPager类为LoopingViewPager即可。 注意: 实现PagerAdapter

PLS的专栏 6184

ViewPager实现左右循环滑动

需求: RelativeLayout布局中,顶部放置一个RecyclerView作为category,中间放置ViewPager来显示每个category下的内容,而每一个page页的内容使用RecyclerView显示。 可以循环滑动显示内容。 效果图: 实现: 对于需求1,是常规操作,在此就不再赘述。接下来看需求2(ViewPager实现左右循环滑动): 平常我们使用ViewPa...

让学习编程变得生动有趣~ 839

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

吃水不忘挖井人: 本文修改自博客:http://www.cnblogs.com/kobe8/p/4343478.html 读了上文感觉思路挺不错的,但是实践的时候发现了一些问题。比如,打开应用时banner并没有自动开始轮播,因为handler中的if判断把消息给吃掉了。 由此,我感觉这种处理方式并不是很好,出现重复发消息的问题,又通过其它方式来删除掉这些消息。。。 我对代码做了一

思念叨火车的专栏 687

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

ViewPager是一个常用的Android组件,不过通常我们使用ViewPager的时候不能实现左右无限循环滑动,在滑到边界的时候会看到一个不能翻页的动画,可能影响用户体验。此外,某些区域性的ViewPager(例如展示广告或者公告之类的ViewPager),可能需要自动轮播的效果,即用户在不用滑动的情况下就能够看到其他页面的信息。 为此我查阅了网络上现有的一些关于实现这样效果的例子,但都

jessica_zc的博客 1582

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

ViewPager这个小demo实现的是可以左右循环滑动图片,下面带索引,滑到最后一页在往右滑动就要第一页,第一页往左滑动就到最后一页,先上效果图,用美女图片是我一贯的作风,呵呵 1. 首先看一些layout下的xml &lt;FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" andr...

移动编程 878

android 左滑跳转_使用ViewPager实现左右循环滑动及滑动跳转

前面一篇文章实现了使用ViewPager实现高仿launcher拖动效果 ,后来很多朋友问能不能实现左右循环滑动效果和引导页面。今天实现了左右滑动,至于在最后一页滑动跳转,这个也做了但是效果不是太好,也希望有实现的朋友能够分享下。在最后一页添加一张图片单击跳转,这个认为很简单大家自己添加个图片,点击后跳转就OK。这篇是在实现了使用ViewPager实现高仿launcher拖动效果的基础上做了一些小...

weixin_30772189的博客 455
上一篇: 日期选择器DatePickerDialog简化使用
JavaSecret
博客等级 码龄15年 2粉丝 4原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值