Android使用:viewpage加载图片和轮播视频

  

作为Android基础组件之一,大家对:viewpage已经很熟悉了,网上也有很多使用:viewpage来加载图片的案例。但是像微信那样点击图片,可以轮播显示图片和视频的例子却没找到。正巧项目中有需求,可以就花时间写了下,现在给一下核心代码,希望对有此需求的同学们起一个抛砖引玉的作用,话不多说了,上代码:
  

  

 Android使用:viewpage加载图片和轮播视频

  

以下是initData的代码

        公共空间initData () {//把聊天界面的图片和视频找出来,并加到数组中,并在//并根据传进来的立场来找到视频或图片在数组中的位置   for (int i=0;我& lt;MsgCount;我+ +){   Msg1 Msg1=fridenMessages.MessageList.get(我);   如果(msg1.getMsg () .startsWith (ChatUtil.TAG_IMAGE) | | msg1.getMsg () .startsWith (ChatUtil.TAG_VIDEO)) {   ImageUrl.add (msg1.getMsg ());//查看消息人事部经理对应的图片位置   如果(位置==我){   位置=ImageUrl.size () - 1;   日志。我(“标签”、“位置=" +位置);   }      }   }   日志。我(“标签”、“位置=" +位置);//把要用到的观点加到viewList中   for (int i=0;我& lt;ImageUrl.size ();我+ +){   如果(ImageUrl.get (i) .startsWith (ChatUtil.TAG_IMAGE)) {   PhotoView PhotoView=new PhotoView(上下文);   viewList.add (photoView);   }else if (ImageUrl.get (i) .startsWith (ChatUtil.TAG_VIDEO)) {         视图view1=LayoutInflater.from(上下文).inflate (R.layout.activity_video_player, null);   SurfaceVideoView videoView=(SurfaceVideoView) view1.findViewById (R.id.videoview);   int screenWidth=getScreenWidth((活动)上下文);   int videoHight=(screenWidth/(MediaRecorderBase (int)。SMALL_VIDEO_WIDTH/(MediaRecorderBase。SMALL_VIDEO_HEIGHT * 1.0 f)));//int videoHight=(screenWidth) * 4/3 (int);   videoView.getLayoutParams ()。身高=videoHight;   videoView.requestLayout ();   视图playStatus=view1.findViewById (R.id.play_status);   视图加载=view1.findViewById (R.id.loading);   viewList.add (view1);   }   }      适配器=new MyAdapter ();   viewPager.setAdapter(适配器);   如果(位置!=1){   viewPager.setCurrentItem(位置);   }   }   ““公共空initEvent () {//给:viewpage设置监听   : viewpage。setOnPageChangeListener(新ViewPager.OnPageChangeListener () {      @Override   公共voidTAG”、“pos=" + pos);   如果(ImageUrl.get (pos) .startsWith (ChatUtil.TAG_IMAGE)) {   PhotoView PhotoView=(PhotoView) viewList.get (pos);   容器。addView (photoView ViewGroup.LayoutParams。MATCH_PARENT ViewGroup.LayoutParams.MATCH_PARENT);   字符串的身体[]=ImageUrl.get (pos) .substring (ChatUtil.TAG_IMAGE.length ()) .split(“,和”);   日志。我(“标签”,“& lt; IMAGE>=" +身体[0]);   ImageLoader.getInstance ()。displayImage(身体[0],photoView);   photoView.setScaleType (ImageView.ScaleType.FIT_CENTER);//设置图片显示为充满全屏   photoView。setOnPhotoTapListener(新PhotoViewAttacher.OnPhotoTapListener () {   @Override   公共空间alt=" Android使用:viewpage加载图片和轮播视频">

  

,以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
  

Android使用:viewpage加载图片和轮播视频