Android仿淘宝详情页面:viewpage滑动到最后一张图片跳转的功能

  

需要做一个仿淘宝客户端:viewpage滑动到最后一页,再拖动的时候跳到详情的功能,刚开始没什么思路,后来搜了一下,发现有好几种实现方法,最好的一种就是在:viewpage图片的后面再加一个观点,然后滑动:viewpage的时候,判断一下就行了。
  附一个链接,我写的代码就是参考的这个,稍微改了一点点,先看看效果图。

  

 Android仿淘宝详情页面:viewpage滑动到最后一张图片跳转的功能

  

实现起来比较简单,先写一个滑动加载详情的布局,然后在:viewpage的instantiateItem里面判断一下,如果是最后一张,就显示加载详情的那个布局。不过需要注意的是,:viewpage的getCount()返回的是list.size() + 1,因为多了一个布局。
  下面看看代码里面的几个方法。

  

在PagerAdapter的instantiateItem里面加载布的局,判断一下位置,如果小于图片数组,就是图片布的局,如果大于了数组的长度(为什么会大于,因为前面已经说了,getCount返回的+ 1了的),就返回那个滑动跳转的布局。

        @Override   公共对象instantiateItem (ViewGroup容器,int位置){   如果(位置& lt;images.length) {   ImageView ImageView=new ImageView (MainActivity.this);   ViewGroup。LayoutParams lp=new ViewGroup.LayoutParams (ViewGroup.LayoutParams。MATCH_PARENT dip2px (300);   imageView.setLayoutParams (lp);   imageView.setScaleType (ImageView.ScaleType.CENTER_CROP);   imageView.setImageResource(图片(位置));   container.addView (imageView);   返回imageView;   其他}{   视图hintView=LayoutInflater.from (container.getContext ()) .inflate (R.layout.more_view,容器,假);   slideText=(TextView) hintView.findViewById (R.id.tv);   arrowImage=(ImageView) hintView.findViewById (R.id.iv);   container.addView (hintView);   返回hintView;   }   }      

,只要这样写了,就可以看到一个大概的效果了,然后主要就是viewp的OnPageChangeListener里面的东西了。主要思路就是,当在最后一张图片时,只要再次往左滑动,滑动到一定距离,就触发跳转的事件,然后,只要是在最后一张图片,是在向左滑动,松开手时,都要让:viewpage选中最后一张图片那里,不能是滑动到了新加的那个布局去了。
  

  

在看看ViewPager.OnPageChangeListener具体的代码是怎么样的。

        公共类ViewPagerOnPageChangeListener实现:viewpage。OnPageChangeListener {   int currPosition=0;//当前滑动到了哪一页   布尔canJump=false;   布尔canLeft=true;   布尔isObjAnmatitor=true;   布尔isObjAnmatitor2=false;   @Override   公共空间alt=" Android仿淘宝详情页面:viewpage滑动到最后一张图片跳转的功能“>

  

这个效果实现起来也非常简单,只需要设置:viewpage的marginRight和marginLeft,然后给:viewpage和它的父控件加上Android: clipChildren=癴alse”就行了。

  

以上所述是小编给大家介绍的Android仿淘宝详情页面:viewpage滑动到最后一张图片跳转的功能,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

Android仿淘宝详情页面:viewpage滑动到最后一张图片跳转的功能