imageview设置上下左右的滑动事件

private float mPosX;
 private float mPosY;
 private float mCurrentPosX;
 private float mCurrentPosY;
 private ImageView imageview;
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  
  imageview = (ImageView) findViewById(R.id.imageview);
  
  imageview.setOnTouchListener(new View.OnTouchListener() {
   
   @Override
   public boolean onTouch(View v, MotionEvent event) {
    
    switch (event.getAction()) {
    // 按下
    case MotionEvent.ACTION_DOWN:
     mPosX = event.getX();
     mPosY = event.getY();
     break;
    // 移动
    case MotionEvent.ACTION_MOVE:
     mCurrentPosX = event.getX();
     mCurrentPosY = event.getY();
     
     if (mCurrentPosX - mPosX > 0 && Math.abs(mCurrentPosY - mPosY) < 10) 
      Log.e("", "向右");
     else if (mCurrentPosX - mPosX < 0 && Math.abs(mCurrentPosY - mPosY) < 10) 
      Log.e("", "向左");
     else if (mCurrentPosY - mPosY > 0 && Math.abs(mCurrentPosX - mPosX) < 10) 
      Log.e("", "向下");
     else if (mCurrentPosY - mPosY < 0 && Math.abs(mCurrentPosX - mPosX) < 10) 
      Log.e("", "向上");
     
     break; 
    // 拿起
    case MotionEvent.ACTION_UP:
      
      break;
    default:
     break;
    }
    return true;
   }
  });
 }


posted @ 2013-10-28 15:28  酱包  阅读(707)  评论(0编辑  收藏  举报