作为Android基础组件之一,大家对:viewpage已经很熟悉了,网上也有很多使用: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加载图片和轮播视频