[英]How to get the x y position of a view after zoom-in in android
我是android的初学者,正在放大页面中寻找视图的xy位置,但是我尝试了很多我无法获得的位置。我在下面的代码中使用了此代码,但是在缩放前后我得到了相同的位置。 请任何人张贴代码,以便在缩放后找到xy位置。
private int fieldImgXY[] = new int[2];
v.getLocationOnScreen(fieldImgXY);
Log.v("Log",fieldImgXY[0]+" "+fieldImgXY[1]);
我的完整代码:
zoom = (ZoomView) findViewById(R.id.maincontainerScroller);
imageView = new ImageView(this);
imageView.setImageResource(R.drawable.ic_launcher);
imageView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
zoom.addView(imageView);
imageView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
v.getLocationOnScreen(fieldImgXY);
Log.v("Log",fieldImgXY[0]+" "+fieldImgXY[1]);
}
});
为了从图像中获取绝对坐标,我使用这种方法:
void calculeAbsoluteCoorde(MotionEvent e){
float []m = new float[9];
matrix.getValues(m);
float transX = m[Matrix.MTRANS_X] * -1;
float transY = m[Matrix.MTRANS_Y] * -1;
float scaleX = m[Matrix.MSCALE_X];
float scaleY = m[Matrix.MSCALE_Y];
lastTouchX = (int) ((e.getX() + transX) / scaleX);
lastTouchY = (int) ((e.getY() + transY) / scaleY);
lastTouchX = Math.abs(lastTouchX);
lastTouchY = Math.abs(lastTouchY);
}
我认为您使用矩阵进行缩放,希望对您有所帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.