当前位置: 代码迷 >> Android >> android 截图保存 手滑事件反应失败,求高手相助解决方案
  详细解决方案

android 截图保存 手滑事件反应失败,求高手相助解决方案

热度:36   发布时间:2016-05-01 22:20:29.0
android 截图保存 手滑事件反应失败,求高手相助
我正在使用android实现撷取图像并在新的界面上显示截取后的图像。 我使用onTouchListener来获取手滑动屏幕的事件反应信息,但是编辑后失败了,请问有没有高手可以帮一下?
这是具体的代码。
public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  Resources res=getResources();
  bmp=BitmapFactory.decodeResource(res,R.drawable.a);
   
  BitmapDrawable bmp1=new BitmapDrawable(bmp);
  ImageView im=new ImageView(this);
  im.setImageDrawable(bmp1);
   
  im.setClickable(true);
  im.setOnTouchListener(new OnTouchListener(){
  float startx=0.0f;
  float starty=0.0f;
  float endx=0.0f;
  float endy=0.0f;
   
  public boolean onTouch(View view,MotionEvent event) {
  // TODO Auto-generated method stub
   
  float x=event.getX();
  float y=event.getY();
  Log.v("start","start");
  if(event.getAction()==MotionEvent.ACTION_DOWN){
  startx=x;
  starty=y;
  }
  System.out.println("middle");
  if(event.getAction()==MotionEvent.ACTION_UP){
  endx=x;
  endy=y;
  }
  System.out.println("end");
   
   
   
  Float startxx=new Float(startx);
  Float startyy=new Float(starty);
  Float endxx=new Float(endx);
  Float endyy=new Float(endy);
  int sx=startxx.intValue();
  int sy=startyy.intValue();
  int ex=endxx.intValue();
  int ey=endyy.intValue();
  bmpp=Bitmap.createBitmap(bmp,sx,ex,sy,ey);
   
  return true;
  }
   
   
  }); 


------解决方案--------------------
我用layout添加了两个imageview,一个用来显示原始的图片,一个用来显示手滑事件框选后的图片,用修改后的代码可正常显示。
  相关解决方案