我正在开发一个应用程序,在触摸imageview时我必须添加/放置另一个图像。 我可以使用以下代码:
int[] viewCoords = new int[2];
imageview.getLocationOnScreen(viewCoords);
int touchX = (int) event.getX();
int touchY = (int) event.getY();
int imageX = touchX - viewCoords[0]; // viewCoords[0] is the X coordinate
int imageY = touchY - viewCoords[1];
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
ImageView iv = new ImageView(getApplicationContext());
lp.setMargins(imageX, imageY, 0, 0);
iv.setLayoutParams(lp);
iv.setImageDrawable(getResources().getDrawable(
R.mipmap.circ));
layout.addView(iv);
这仅适用于一台设备。
我正在将所有触摸点存储到服务器。多个用户可以看到编辑的图像。 但是,如果我试图绘制这个坐标/点,它会被放置在不同的位置。
尝试搜索但是找到任何获取X和Y值的通用方法,这些方法与屏幕大小和密度无关。
任何帮助都会得到赞赏。