需要做一个仿淘宝客户端:viewpage滑动到最后一页,再拖动的时候跳到详情的功能,刚开始没什么思路,后来搜了一下,发现有好几种实现方法,最好的一种就是在:viewpage图片的后面再加一个观点,然后滑动: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滑动到最后一张图片跳转的功能