【android】gallery 循环播放
目标:gallery播放时,图片向左或者向右,到头后都会留点空白,这样的效果很不好,虽然可以使用setselection()函数设置默认显示图片,留有空白是仍然存在的,于是为了解决此问题,好像大家都是使用gallery的循环播放。
详细的用法,可以参考http://blog.csdn.net/herryz/archive/2011/01/15/6141957.aspx
为了实现循环播放,一般有三个地方,需要修改:
(1)修改ImageAdapter中的getCount()(返回图像的总数量)函数:
// 返回图像总数 public int getCount() { //return images.length; return Integer.MAX_VALUE; }
(2)修改ImageAdapter中的getView()函数:
public View getView(int position, View convertView, ViewGroup parent) { ImageView i = new ImageView(mContext); //i. setImageResource(myImageIds[position]); //循环取图像数据 i.setImageResource(myImageIds[position%images.length]); /* 设定图片给imageView对象 */ i.setScaleType(ImageView.ScaleType.FIT_XY); /* 重新设定图片的宽高 */ i.setLayoutParams(new Gallery.LayoutParams(136, 88)); /* 重新设定Layout的宽高 */ i.setBackgroundResource(mGalleryItemBackground); /* 设定Gallery背景图 */ return i; /* 传回imageView物件 */ }
(3)一般而言,上述1、2步就可以了,但是如果你细心点的话,就会发现,其实1、2步向右的确实现了循环播放,但是向左,仍然不可以循环。这时候,为了实现向左的“循环”,我们可以设置gallery的setselection()函数:
gallery.setselection(300);
取第301张图片昨晚默认居中图片,这样,用户向左滑动的时候,一般而言,不会滑300下吧~这样给用户造成的视觉效果就是实现了向左循环了。
作者:风倾清凌
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.