`
runfeel
  • 浏览: 928822 次
文章分类
社区版块
存档分类
最新评论

Gallery循环滑动

 
阅读更多

Gallery每次滑动到最后一个的时候,在向后就滑不动了,或者第一个向前的时候,也是不能实现滑动的。这主要是有Gallery的position来决定的。
Gallery的position的值在0到getCount()之间,不能超出这样的一个范围。
所以在第一个的时候,position=0,所以不能向前滑动。当在最后一个的时候position=getCount(),所以不能继续向后滑动。

可以这样实现循环滑动:
1、在自定义的Adapter中getCount()方法里面,返回一个远大于实际图片数量的值,那么position就会增大,当滑动到最后一个图片的,还可以接着往下面滑动。

    public int getCount() {
          return Integer.MAX_VALUE;//返回一个Integer的最大值,远大于实际图片的数量
    }

2、如果,光是这样,还是不行的,因为当position大于图片数组的话,会出现数组下标越界的异常,所以,在加载这个图片的时候,要实现对position进行处理。

   Bitmap bitmap=BitmapFactory.decodeResource(context.getResources(), imagesId[position%imagesId.length]);


对position取余就可以了。
3、这样,就实现了能在最后一张图片的时候,继续滑动。
在Activity里面定义gallery的时候在这样设置:

	gallery.setSelection(adapter.getCount()/2);//改变最开始的position的数值


就可以在最前面的时候,向前滑动。


这样做,可能对性能有影响,而且是一种伪循环的效果,只是让position无限大,永远达不到而已。当然你也可以不用设置这么大,根据需要设置稍微大几倍就行了。

分享到:
评论

相关推荐

    无限循环滑动gallery

    在Android开发中,"无限循环滑动 gallery"是一种常见的用户界面设计,用于展示一系列图片或内容,例如在应用的启动页、轮播广告或者相册中。Gallery组件曾是Android SDK的一部分,但在后来的版本中被弃用,取而代之...

    可左右循环滑动的gallery图片轮播demo

    在这个特定的案例中,"可左右循环滑动的gallery图片轮播demo"是一个实现这种功能的示例项目,允许用户向左或向右滑动来浏览图片,同时支持自动定时切换,为用户提供流畅的浏览体验。 首先,我们要理解“左右循环...

    启动图滑动+gallery滑动 自动

    4. 在`Runnable`的`run()`方法中,每次滑动后更新`nextPosition`,并再次发送`Runnable`以实现循环滑动。 5. 当不需要自动滑动时,记得移除`Runnable`以防止内存泄漏。 此外,为了增强用户体验,我们还可以添加一些...

    通过SurfaceView实现像Gallery手势滑动图片效果

    5. 为了实现类似Gallery的无限循环效果,你需要维护一个图片队列,并在滑动到队列边缘时无缝切换到队列的另一端。 此外,由于题目提到了"OpenGL",在一些性能要求极高的场景下,我们可以考虑结合OpenGL ES进行优化...

    Android Gallery 3张图无限循环 左右滑动都有效

    在这个场景中,提到的"Android Gallery 3张图无限循环 左右滑动都有效"是指一个特定的实现,即在`Gallery`中加载三张图片,并且当用户向左或向右滑动时,图片能够无缝地循环,形成一种无限滚动的效果。下面将详细...

    Gallery循环删除图片

    在Android开发中,"Gallery循环删除图片"是一个常见的需求,主要涉及到 Gallery 组件的使用、Java反射机制的应用以及图片管理。下面将详细讲解这些知识点。 首先,Gallery 是 Android 提供的一种特殊的视图组件,...

    anroid 使用gallery实现滑动的tab

    默认情况下,`Gallery`不支持无限循环滑动。但你可以通过监听`OnItemSelectedListener`并在达到边界时手动改变选中的位置,实现循环效果。 ```java gallery.setOnItemSelectedListener(new OnItemSelectedListener...

    Gallery自动滑动

    `Gallery`的主要优点在于它的触摸滑动交互和循环滚动特性。 要实现`Gallery`的自动滑动,我们需要以下几个关键步骤: 1. **布局文件配置**: 在`res/layout`目录下创建一个XML布局文件,添加`Gallery`组件,并为...

    Android3D画廊Gallery实现无限循环和自动跳转

    1. **无限循环**:在传统的`Gallery`中,当用户滑动到最后一项时,不能再向右滑动。为实现无限循环,我们需要在数据源的末尾添加当前数据的副本,并在用户滑动到边缘时重新定位选中项,使其看起来像一直在循环。 2....

    gallery无限循环

    在Android开发中,`Gallery`是一个非常有用的控件,它允许用户通过左右滑动来浏览一系列的图片或者项目。在本篇文章中,我们将深入探讨如何实现`Gallery`的无限循环功能,这在很多应用场景,如轮播图或相册展示等,...

    Gallery实现无线循环代码

    然而,原生的`Gallery`组件并不支持无限循环的功能,也就是说,当用户在最后一项滑动时,无法无缝滚动回到第一项,同样在第一项滑动时也无法直接跳转到最后一项。针对这一需求,开发者通常需要自定义`Adapter`来实现...

    无限自动循环的gallery 可以点击

    综上所述,这个`Gallery`组件不仅提供了基本的手动滑动和点击事件功能,还增加了无限循环、倒影效果以及3D视觉效果,大大提升了用户体验。开发者在实现这些功能时,需要对Android的UI组件、动画系统、事件处理等方面...

    Viewpager和Gallery的循环滚动

    本篇文章将深入探讨如何实现`ViewPager`和`Gallery`的循环滚动功能,这对于创建无限轮播广告、图片浏览等应用场景至关重要。 首先,我们来看`ViewPager`。`ViewPager`是Android Support Library中的一个组件,主要...

    图片浏览(带水平滑动的GridView和带gallery的ViewPage)

    例如,实现一个可以循环滚动的视图,并支持单击和滑动选中项目。 然后,"ViewPage支持图片缩放"。ViewPager是Android中用于展示多个页面的组件,常用于实现滑动切换的效果。为了让ViewPager支持图片缩放,我们通常...

    Gallery实现广告循环

    在本教程中,我们将深入探讨如何利用`Gallery`来创建一个广告循环展示的功能。 首先,`Gallery`是Android SDK提供的一种水平滚动视图,它可以像横向的ScrollView一样,展示一系列的子视图,并支持用户左右滑动切换...

    android 循环gallery 选中放大 按键控制

    在Android开发中,`Gallery`组件是一个非常有用的控件,它允许用户在多个项目之间进行水平滑动选择,常用于图像浏览或者选项选择等场景。本篇将详细讲解如何实现一个具有循环滚动、选中放大功能,并且可以使用按键...

    Android使用gallery和imageSwitch制作可左右循环滑动的图片浏览器

    在Android开发中,有时我们需要创建一个能够左右循环滑动的图片浏览器,这通常是通过结合使用`Gallery`组件和`ImageSwitcher`来实现的。`Gallery`是一个水平方向的滚动视图,允许用户通过左右滑动来浏览多个项目,而...

    Gallery选中高亮和无限循环

    综上所述,结合自定义适配器、监听器以及适当的滚动处理,我们可以实现`Gallery`组件的选中高亮和无限循环滚动效果。不过,需要注意的是,`Gallery`组件在Android API 16之后已被弃用,建议使用`RecyclerView`配合`...

    Gallery和imageSwitcher循环显示切换图像组件

    通过设置适配器(Adapter),`Gallery`可以动态加载数据,并让用户通过左右滑动来浏览。在实现图片循环显示时,我们可以将图片资源或网络图片URL存储在数据集中,然后在适配器的`getView()`方法中加载图片。`Gallery...

    Gallery组件实现循环显示图像

    5. **实现循环显示**:默认情况下,`Gallery`会循环显示图像,即当用户向左滑动最后一个图像时,第一个图像会再次出现,反之亦然。如果发现`Gallery`没有自动实现循环,可能是因为自定义的适配器或其他代码阻止了这...

Global site tag (gtag.js) - Google Analytics