zoukankan      html  css  js  c++  java
  • 【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下吧~这样给用户造成的视觉效果就是实现了向左循环了。

  • 相关阅读:
    【2020-04-03】多注意一下自己闲下来的思绪
    vue 去哪网项目 学习笔记(一)
    数据分析相关的内容
    vue 自学项目笔记
    vue 所有的指令
    vue 自学笔记(5) 列表渲染
    vue 自学笔记(4): 样式绑定与条件渲染
    vue 自学笔记(三) 计算属性与侦听器
    自学vue笔记 (二) : 实例与生命周期
    杜教BM模板
  • 原文地址:https://www.cnblogs.com/Amandaliu/p/2085262.html
Copyright © 2011-2022 走看看