如何获取android中的广义接触点

时间:2016-01-28 12:49:05

标签: android android-imageview

我正在开发一个应用程序,在触摸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值的通用方法,这些方法与屏幕大小和密度无关。

任何帮助都会得到赞赏。

0 个答案:

没有答案