在我的应用程序中,我需要让用户检查一些照片的眼睛.在OnTouchListener.onTouch(...)中,我得到了ImageView的坐标.
如何将此坐标转换为触摸位图的点?
我会尝试开发一个可以绘制平面测量的应用程序.因此,每个房间都有自己的ID或名称,如果我触摸房间,我想显示带有该ID或名称的Toast消息.问题是如何检查是否以及触及了哪条路径!!
我看到很多讨论这个问题的主题讨论.有人说使用getBounds方法,之后包含检查触摸点是否在Rect中的方法.但是,我猜getBounds方法返回包含路径的最小Rect,对吧?
因此,房间有不同的自定义几何形式,因此,如果我约束了2个关闭房间,方法可以返回一组共享点.坏!每个房间只有他们的面积点.我怎么解决这个问题 ?
在iOS中我可以使用PathContainsPoint方法,但不幸的是,Android Path没有类似的东西.
我希望有人可以提前帮助我
我正在尝试为Android平台制作媒体播放器,我想要添加的功能之一是能够拖动和捏缩放图片.
我遇到的问题是我从"Hello,Android"编辑中复制了这段代码.3:
@Override
public boolean onTouch(View v, MotionEvent event) {
ImageView view = (ImageView) v;
switch (event.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN:
savedMatrix.set(matrix);
start.set(event.getX(), event.getY());
mode = DRAG;
break;
case MotionEvent.ACTION_POINTER_DOWN:
oldDist = spacing(event);
if (oldDist > 10f) {
savedMatrix.set(matrix);
midPoint(mid, event);
mode = ZOOM;
}
break;
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_POINTER_UP:
mode = NONE;
break;
case MotionEvent.ACTION_MOVE:
if (mode == DRAG) {
matrix.set(savedMatrix);
matrix.postTranslate(event.getX() - start.x, event.getY() - start.y);
}
else if (mode == ZOOM) {
float newDist = spacing(event); …Run Code Online (Sandbox Code Playgroud) 背景: 我有一个ImageView,我已经修改为可滚动(拖动)和缩放(缩放缩放).我使用了"Hello,Android"第3版中提到的确切技术,也可以在这里找到.此技术使用矩阵变换来处理滚动和缩放.
我的问题: 当用户点击图像时,无论图像如何滚动或放大,我都希望该拍子的坐标与图像本身相关.例如,如果我的图像是1000x2000,我滚动并缩放图像.然后我在某个点点击图像,我想知道与1000x2000相关的那个点,而不仅仅是屏幕区域.我怎样才能做到这一点?