基本上,我将背景图像添加到Imageview并在位图上绘制了一些线条。 gSeed是每个细胞的大小。现在我用Touch Listener计算了每个单元格的索引。但是当我使用photoView时,我无法使用以下触摸侦听器。需要帮助将此功能与photoview一起使用,并且在缩放时它应该给出imageView的坐标而不是屏幕,因为在Zoom上它将显示原始图像单元格细节。
mImageView.setOnTouchListener(new View.OnTouchListener(){
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
float x = motionEvent.getX();
float y = motionEvent.getY();
String message = String.format("Coordinates: (%.2f,%.2f)",x,y);
int Y = (int) Math.floor(x/gSeed);
int X = (int) Math.floor(y/gSeed);
int p = X*6+Y;;
//gSeed values = no.of columns
//200 = 6
//190 = 6
//180 = 6
//170 = 7
//160 = 7
//150 = 8
//140 = 8
//130 = 9
//120 = 9
//110 = 10
//100 = 11
//90 = 12
//80 = 14
//70 = 16
//60 = 18
//50 = 22
if(gSeed == 200 || gSeed == 190 || gSeed == 180){
p = X*6+Y;
}
else if(gSeed == 170 || gSeed == 160){
p = X*7+Y;
}
else if(gSeed == 150 || gSeed == 140){
p = X*8+Y;
}
else if(gSeed == 130 || gSeed == 120){
p = X*9+Y;
}
else if(gSeed == 110){
p = X*10+Y;
}
else if(gSeed == 100){
p = X*11+Y;
}
else if(gSeed == 90){
p = X*12+Y;
}
else if(gSeed == 80){
p = X*14+Y;
}
else if(gSeed == 70){
p = X*16+Y;
}
else if(gSeed == 60){
p = X*18+Y;
}
else if(gSeed == 50){
p = X*22+Y;
}
System.out.println(message+" Cell#/; "+ p);
Toast.makeText(Train.this,message+" Cell#/; "+ p+" x:"+X+" y:"+Y, Toast.LENGTH_SHORT).show();
return false;
}
});