怎么在android中使用:viewpage实现竖屏滑动效果

  介绍

这期内容当中小编将会给大家带来有关怎么在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实现竖屏滑动效果