介绍
这期内容当中小编将会给大家带来有关怎么在android中使用:viewpage实现竖屏滑动效果,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
首先自定义Viewpager
public class VerticalViewPager extends Viewpager { private 才能;OnItemClickListener  mOnItemClickListener; public 才能VerticalViewPager (Context 上下文),{ ,,,超级(上下文); ,,,init (); ,,} public 才能;VerticalViewPager (Context 上下文,AttributeSet attrs), { ,,,超级(上下文,attrs); ,,,init (); ,,,的设置(); ,,} private 才能;void  init (), { ,,,//,,majority of 从而magic happens 这里 ,,,setPageTransformer(真的,,new VerticalPageTransformer ()); ,,,//,,easiest way 用get rid of 从而overscroll 管理;that happens 提醒,left 以及正确的 ,,,setOverScrollMode (OVER_SCROLL_NEVER); ,,} ,,private MotionEvent  swapXY (MotionEvent ev), { ,,,float width =, getWidth (); ,,,float height =,获得(); ,,,float newX =, (ev.getY(),/,高度),*,宽度; ,,,float newY =, (ev.getX(),/,宽度),*,高度; ,,,ev.setLocation (newY newX也); ,,,return 电动车; ,,} @Override才能 public 才能;boolean  onInterceptTouchEvent (MotionEvent ev) { ,,,boolean intercepted =, super.onInterceptTouchEvent (swapXY (ev)); ,,,swapXY (ev);,//, return touch coordinates 用original 参考文档frame for any child 观点 ,,,return 拦截; ,,} private 才能;float  scaleY ; @Override才能 public 才能;boolean  onTouchEvent (MotionEvent ev), { ,,,System.out.println (“- - - - - - - - - - - getY", +, ev.getY ()); ,,,System.out.println (“- - - - - - - - - - - scaleY", +,写入scaleY); ,,,if (ev.getAction ()==MotionEvent.ACTION_MOVE) { ,,,} ,,,if (ev.getAction ()==MotionEvent.ACTION_DOWN) { ,,,,,scaleY =, ev.getY (); ,,,} ,,,if (ev.getAction ()==MotionEvent.ACTION_UP) { ,,,,,if (scaleY ==, ev.getY ()) { ,,,,,,,System.out.println (“- - - - - - - - - - - - - - - - - -======?; ,,,,,,,写入scaleY=, 0; ,,,,,,,return 假; ,,,,,} ,,,} ,,,try { ,,,,,return super.onTouchEvent (swapXY (ev)); ,,,}catch (Exception e) { ,,,} ,,,return 真实; ,,} public 才能;void  setOnItemClickListener (OnItemClickListener onItemClickListener), { ,,,mOnItemClickListener =, onItemClickListener; ,,} public 才能interface OnItemClickListener  { ,,,void onItemClick (int 位置); ,,} private 才能;void 设置(),{ ,,,final GestureDetector tapGestureDetector =, new , GestureDetector (getContext ()), new TapGestureListener ()); ,,,setOnTouchListener (new OnTouchListener (), { ,,,,@Override ,,,,,public boolean ondraw (View v, MotionEvent 事件),{ ,,,,,,,tapGestureDetector.onTouchEvent(事件); ,,,,,,,return 假; ,,,,,} ,,,}); ,,} private 才能class TapGestureListener  extends GestureDetector.SimpleOnGestureListener { ,,@Override ,,,public boolean onSingleTapConfirmed (MotionEvent e), { ,,,,,如果(mOnItemClickListener !=, null), { ,,,,,,,mOnItemClickListener.onItemClick (getCurrentItem ()); ,,,,,} null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null怎么在android中使用:viewpage实现竖屏滑动效果