详解android 视频图片混合轮播实现

发布时间:2019-08-08 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了详解android 视频图片混合轮播实现脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

循环添加视频view  图片view

 for (int i = 0 ;i<beansArrayList.size();i++){   if (beansArrayList.get(i).getTyPE()==1){     videoplayer = new NiceVideoplayer(this);     controller = new TxVideoPlayerController(this);     videoPlayer.setController(controller);     videoPlayer.SETUP(beansArrayList.get(i).getVideo(),null);     videoPlayer.continueFromLastPosITion(false);     videoPlayer.setOnStart(new NiceVideoPlayer.onStart() {       @override       public void start() {         bannerView.startLoop(false);       }     });     controller.setOnRestartPause(new TxVideoPlayerController.onRestartPause() {       @Override       public void onStart(boolean start) {         bannerView.startLoop(start);       }        @Override       public void onRestart() {        }     });     GlideLoading.setImage(this,beansArrayList.get(i).getStrUrl(),controller.imageView());     viewList.add(videoPlayer);   }else {     ImageView img = new ImageView(this);     img.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));     img.setScaleType(ImageView.ScaleType.FIT_XY);     img.setAdjustViewBounds(true);      final int finalI = i;     img.setOnClickListener(new View.OnClickListener() {       @Override       public void onClick(View v) {         ArrayList<String> imgUrl = new ArrayList<>();         int position = 0;         for (int j = 0 ;j<beansArrayList.size();j++){           if (beansArrayList.get(j).getStrUrl().equals(beansArrayList.get(finalI).getStrUrl())){             position = j ;           }           imgUrl.add(beansArrayList.get(j).getStrUrl());         }         PreviewPhone.PReviewPhone(ActivityProductDetails.this,imgUrl,position,v);       }     });       GlideLoading.setImage(this,beansArrayList.get(i).getStrUrl(),img);     viewList.add(img);    }  } bannerView.startLoop(true); bannerView.setOnPageSelected(new BannerView.onPageSelected() {   @Override   public void onNext() {     if (videoPlayer != null){       if (videoPlayer.isPlaying()){         bannerView.startLoop(true);         videoPlayer.pause();       }     }    }    @Override   public void onTouchEvent(MotionEvent ev) {     switch (ev.getAction()) {       case MotionEvent.ACTION_DOWN:         bannerView.startLoop(false);         break;       case MotionEvent.ACTION_MOVE:         bannerView.startLoop(false);         break;       case MotionEvent.ACTION_UP:       case MotionEvent.ACTION_CANCEL:         if (videoPlayer.isPlaying()){           bannerView.startLoop(false);         }else {           bannerView.startLoop(true);         }         break;     }   } }); 

XMl应用

 <com.zym.COMmon.view.banner.BannerView   andROId:id="@+id/banner"   android:layout_width="match_parent"   android:layout_height="200dp">  </com.zym.common.view.banner.BannerView> 

轮播适配器

 public class BannerAdapter extends PagerAdapter {    private List<View> viewList;   private int size;   private final int cacheCount = 3;    public BannerAdapter(List<View> viewList) {     this.viewList = viewList;     size = viewList.size();   }    @Override   public void destroyItem(ViewGroup container, int position, Object object) {     if (viewList.size() > cacheCount){       container.removeView(viewList.get(position%size));     }   }    @Override   public Object instantiateItem(ViewGroup container, int position) {     ViewGroup parent = (ViewGroup) viewList.get(position%size).getParent();     if (parent != null) {       parent.removeView(viewList.get(position%size));     }     container.addView(viewList.get(position%size));     return viewList.get(position%size);   }    @Override   public int getCount() {     return Integer.MAX_VALUE;   }    @Override   public boolean isViewFromObject(View view, Object object) {     return view == object;   } 

详解android 视频图片混合轮播实现

详解android 视频图片混合轮播实现

详解android 视频图片混合轮播实现

android教程
脚本网站
@L_512_2@

脚本宝典总结

以上是脚本宝典为你收集整理的详解android 视频图片混合轮播实现全部内容,希望文章能够帮你解决详解android 视频图片混合轮播实现所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。