我正在使用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,一个用来显示原始的图片,一个用来显示手滑事件框选后的图片,用修改后的代码可正常显示。