为了账号安全,请及时绑定邮箱和手机立即绑定

ImageSwitcher中图片的放大和缩小有的图片可以有的不可以

ImageSwitcher中图片的放大和缩小有的图片可以有的不可以

啸鸣 2014-09-22 16:39:15
 public boolean onTouch(View v, MotionEvent event) {    // TODO Auto-generated method stub    switch (event.getAction() & MotionEvent.ACTION_MASK) {    case MotionEvent.ACTION_DOWN: // 手指压下屏幕     mode = DRAG;     flag = 1;     isSwitching=false;     currentMatrix.set(imageView.getImageMatrix());     startdx = event.getX();     startPoint.set(event.getX(),event.getY());     break;    case MotionEvent.ACTION_MOVE:     if (mode == DRAG) {      enddx = event.getX();      flag = 2;      isSwitching = false;     }else if(mode==ZOOM){      float endDis=distance(event);//结束距离      if(endDis>10f){      float scale=endDis/startDis;                           Bitmap bas =((BitmapDrawable) bmd[index]).getBitmap();             matrix.set(currentMatrix);            matrix.postScale(scale, scale,midPoint.x,midPoint.y);           int hdx=0;           int wdy=0;           wdy=bas.getWidth();           hdx=bas.getHeight();           if(bas.getWidth()>wide){         wdy=wide;        }else{         wdy=bas.getWidth();        }            if(bas.getHeight()>height){            hdx=height;           }else{            hdx=bas.getHeight();           }      bitmap = Bitmap.createBitmap(bas, 0, 0, wdy, hdx, matrix, true);      imageView.setImageBitmap(bitmap);         imageView.invalidate();   */      }     }     break;    case MotionEvent.ACTION_UP:// 有手指离开屏幕     if (mode == DRAG) {      if (flag == 1) {       dx = 0;                                  }      if (flag == 2) {       dx = enddx - startdx;      }      if (dx > 20f) {       if (index > 0) {        index--;       imageSwitcher.setImageDrawable(bmd[index]); // 显示当前图片       } else {        index = lth - 1;       imageSwitcher.setImageDrawable(bmd[index]); // 显示当前图片               }      } else if (dx < -20f) {       if (index < lth - 1) {        index++;      imageSwitcher.setImageDrawable(bmd[index]); // 显示当前图片               } else {        index = 0;           imageSwitcher.setImageDrawable(bmd[index]); // 显示当前图片              }      } else {      }          }     break;    case MotionEvent.ACTION_POINTER_UP :// 有手指离开屏幕,但还有手指在     mode = 0;     break;    case MotionEvent.ACTION_POINTER_DOWN:     mode = ZOOM;     startDis=distance(event);       if(startDis>10f){      midPoint=mid(event);      currentMatrix.set(imageView.getImageMatrix());//记录当前的缩放倍数     }     break;    }        return true;   }  }
查看完整描述

目前暂无任何回答

  • 0 回答
  • 0 关注
  • 3350 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信