iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android 使用ViewPager自动滚动循环轮播效果
  • 603
分享到

Android 使用ViewPager自动滚动循环轮播效果

循环viewpager轮播Android 2022-06-06 09:06:35 603人浏览 安东尼
摘要

对Android 利用ViewPager实现图片可以左右循环滑动效果,感兴趣的朋友可以直接点击查看内容详情。 主要介绍如何实现ViewPager自动播放,循环滚动的效果及使用。

Android 利用ViewPager实现图片可以左右循环滑动效果,感兴趣的朋友可以直接点击查看内容详情。

主要介绍如何实现ViewPager自动播放,循环滚动的效果及使用。顺便解决ViewPager嵌套(ViewPager inside ViewPager)影响触摸滑动及ViewPager滑动速度设置问题。

先给大家展示下效果图,喜欢的朋友可以下载源码

1、实现

没有通过ScheduledExecutorService或Timer定期执行某个任务实现,而是简单的通过handler发送消息去完成一次滚动,在完成一次滚动后发送另外一个delay的滚动消息,如此循环实现。自动滚动部分核心代码如下:

Java


 public void startAutoScroll() {
 isAutoScroll = true;
 sendScrollMessage(interval);
 }
 private void sendScrollMessage(long delayTimeInMills) {
 
 handler.removeMessages(SCROLL_WHAT);
 handler.sendEmptyMessageDelayed(SCROLL_WHAT, delayTimeInMills);
 }
 private class MyHandler extends Handler {
 @Override
 public void handleMessage(Message msg) {
  super.handleMessage(msg);
  switch (msg.what) {
  case SCROLL_WHAT:
   scrollOnce();
   sendScrollMessage(interval);
   break;
  }
 }
 }

 至于ViewPager嵌套引起子ViewPager无法触摸问题是通过在子ViewPager的onTouchEvent中添加

Java


getParent().requestDisallowInterceptTouchEvent(true);

禁止父控件对touch event做intercept解决的。

ViewPager滑动速度的设置是通过反射的方式重新设置ViewPager的Scroller,改变Scroller的startScroll的间隔时间完成的。调用setScrollDurationFactor(double)即可。

2、使用

(1) 引入公共库

引入Android Auto Scroll ViewPager@GitHub作为你项目的library(如何拉取代码及添加公共库)。

(2) 调用

仅需简单两步:

a. 布局定义

Java


<cn.trinea.android.view.autoscrollviewpager.AutoScrollViewPager
 android:id="@+id/view_pager"
 android:layout_width="match_parent"
 android:layout_height="wrap_content" />

代替一般的ViewPager定义

b. 启动ViewPager自动滚动

startAutoScroll() 启动自动滚动
stopAutoScroll() 停止自动滚动

3、设置

setInterval(long) 设置自动滚动的间隔时间,单位为毫秒
setDirection(int) 设置自动滚动的方向,默认向右
setCycle(boolean) 是否自动循环轮播,默认为true
setScrollDurationFactor(double) 设置ViewPager滑动动画间隔时间的倍率,达到减慢动画或改变动画速度的效果
setStopScrollWhenTouch(boolean) 当手指碰到ViewPager时是否停止自动滚动,默认为true
setSlideBorderMode(int) 滑动到第一个或最后一个Item的处理方式,支持没有任何操作、轮播以及传递到父View三种模式
setBorderAnimation(boolean) 设置循环滚动时滑动到从边缘滚动到下一个是否需要动画,默认为true

4、其他

(1) 指示器,圆形或是方形指示器请配合ViewPagerIndicator使用
(2)无限循环,如果希望在最后一张继续播放第一张而不是退回到第一张,请参考AutoScrollViewPagerSingleDemo.java,注意这个特性不能和 ViewPagerIndicator 使用

您可能感兴趣的文章:Android实现图片轮播效果的两种方法Android实现图片轮播效果Android实现Banner界面广告图片循环轮播(包括实现手动滑动循环)Android使用ViewPager加载图片和轮播视频Android实现图片自动轮播并且支持手势左右无限滑动Android自动播放Banner图片轮播效果Android实现图片文字轮播特效Android实现广告图片轮播效果Android ViewPager实现图片轮播效果ViewFlipper实现文字轮播效果


--结束END--

本文标题: Android 使用ViewPager自动滚动循环轮播效果

本文链接: https://www.lsjlt.com/news/26243.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android viewpager自动轮播和小圆点联动效果
    本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下首先来看一下我们要做成的而效果:主页面要显示一个viewpager自动轮播+小圆点联动的效果 : 废话不多说,直接上代码:布局文件: activity_ma...
    99+
    2023-05-30
    android 轮播 viewpager
  • Android ViewPager怎么去实现无限循环滚动回绕效果
    不懂Android ViewPager怎么去实现无限循环滚动回绕效果?其实想解决这个问题也不难,下面让小编带着大家一起学习怎么去解决,希望大家阅读完这篇文章后大所收获。android系统提供的ViewPager标准方式是左右可以自由滑动,但...
    99+
    2023-05-30
    android viewpager 滚动效果
  • Android ViewPager如何实现无限循环轮播广告位Banner效果
    这篇文章将为大家详细讲解有关Android ViewPager如何实现无限循环轮播广告位Banner效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。现在一些app通常会在头部放一个广告位,底部放置一行小...
    99+
    2023-05-30
    android viewpager banner
  • Android怎么实现无限循环和自动轮播
    要实现Android中的无限循环和自动轮播,可以使用ViewPager和PagerAdapter来实现。下面是实现的步骤:1. 创建...
    99+
    2023-10-18
    Android
  • js实现列表自动滚动循环播放
    本文实例为大家分享了js实现列表自动滚动循环播放的具体代码,供大家参考,具体内容如下 1.实现效果图 鼠标移入,暂停滚动; 鼠标移出,继续滚动; 2.原理 要实现无缝衔接,在原有u...
    99+
    2024-04-02
  • Android实现循环轮播跑马灯的效果
    目录先看效果池化思路创造工厂轮询切换动画监听对外能力完整代码先看效果 支持暂停,恢复,view自定义和池化回收复用。使用上,只需要引入xml,并绑定factory即可,内部会在a...
    99+
    2023-05-18
    Android实现循环轮播跑马灯效果 Android实现跑马灯 Android跑马灯
  • Android中怎么用Gallery实现无限循环及自动轮播
    要实现Android中Gallery的无限循环和自动轮播功能,可以按照以下步骤进行操作: 在XML布局文件中,将Gallery控...
    99+
    2023-10-22
    Android Gallery
  • Android中怎么使用ListView实现滚轮动画效果
    今天就跟大家聊聊有关Android中怎么使用ListView实现滚轮动画效果,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。   private ...
    99+
    2023-05-31
    android listview
  • js如何实现列表自动滚动循环播放
    这篇文章主要介绍了js如何实现列表自动滚动循环播放的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇js如何实现列表自动滚动循环播放文章都会有所收获,下面我们一起来看看吧。1.实现效果图鼠标移入,暂停滚动; 鼠标移...
    99+
    2023-07-02
  • jquery实现图片自动轮播效果
    本文实例为大家分享了jquery实现图片自动轮播效果的具体代码,供大家参考,具体内容如下 HTML代码如下: <div id="container">         ...
    99+
    2024-04-02
  • 怎么使用css实现文字循环滚动效果
    今天小编给大家分享一下怎么使用css实现文字循环滚动效果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。首先创建一个html文...
    99+
    2023-07-04
  • js如何实现轮播图无缝滚动效果
    这篇文章主要介绍了js如何实现轮播图无缝滚动效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。先文字说明一下:如果要展示5张图,分别为1,2...
    99+
    2024-04-02
  • Vue实现首页banner自动轮播效果
    本文实例为大家分享了Vue实现首页banner自动轮播的具体代码,供大家参考,具体内容如下 效果如图:  ①创建Banner.vue组件,需传入banner数组,可设置轮...
    99+
    2024-04-02
  • 如何使用CSS制作无缝滚动的图片轮播的效果
    随着互联网的发展和人们对美观性的追求,图片轮播已经成为网页设计中常见的元素之一。无缝滚动的图片轮播效果能够吸引用户的注意力,增加页面的互动性和视觉效果。在本文中,我们将介绍如何使用CSS来实现无缝滚动的图片轮播效果,并提供具体的代码示例。首...
    99+
    2023-10-21
    图片轮播 CSS 无缝滚动
  • 怎么用JavaScript实现图片循环滚动效果
    要实现图片循环滚动效果,可以通过JavaScript结合CSS实现。下面是一个简单的示例: HTML部分: <div id=&...
    99+
    2024-03-02
    JavaScript
  • Android使用ViewPager实现启动引导页效果
    本文实例为大家分享了Android实现启动引导页效果的具体代码,供大家参考,具体内容如下 ViewPagerTwoActivity.java package cn.edu.zu...
    99+
    2024-04-02
  • 如何使用CSS制作无缝滚动的文字轮播的效果
    如何使用CSS制作无缝滚动的文字轮播的效果,需要具体代码示例随着互联网的发展和设计人员对用户体验的要求不断提高,网站上的文字轮播效果已经成为常见的展示形式之一。文字轮播能够吸引用户的目光,增加页面的动感和活力,提升用户对内容的关注度。在本文...
    99+
    2023-10-25
    CSS 无缝滚动 文字轮播
  • css如何实现文字循环滚动效果
    这篇文章主要介绍“css如何实现文字循环滚动效果”,在日常操作中,相信很多人在css如何实现文字循环滚动效果问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”css如何实现文字循...
    99+
    2024-04-02
  • 如何通过css动画实现一个表格滚动轮播效果
    这篇文章主要介绍了如何通过css动画实现一个表格滚动轮播效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。css动画的一个应用,与此前的css走马灯同样的内容。只是一次不同的...
    99+
    2023-06-08
  • jquery如何实现图片自动轮播效果
    这篇文章主要介绍“jquery如何实现图片自动轮播效果”,在日常操作中,相信很多人在jquery如何实现图片自动轮播效果问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jquery如何实现图片自动轮播效果”的疑...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作