我在图像视图上有一个矢量/PNG 图像。我需要跟踪用户在图像上触摸的位置并标记点。我已经完成了这部分。但我面临一个问题。由于图像形状不规则,因此图像和图像视图(矩形)边界之间存在空间。
如果用户触摸图像视图而不是图像(即)边界之间的空间,则不应标记这些点。有没有办法做到这一点 ?
imageView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
modelWidth = selected_Car_Image.getWidth();
modelHeight = selected_Car_Image.getHeight();
float xTouchCoordinate = motionEvent.getX();
float yTouchCoordinate = motionEvent.getY();
return false;
}
});
}
<RelativeLayout
android:id="@+id/carImageViewLayout"
android:layout_width="200dp"
android:layout_height="match_parent"
android:layout_centerHorizontal="true">
<ImageView
android:id="@+id/imageView"
android:layout_width="200dp"
android:layout_height="400dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />
</RelativeLayout>
我使用 xTouchCoordinate 和 yTouchCoordinate 在用户触摸时绘制一个点。
在这个例子中,我不想跟踪用户在笔记本电脑外点击的任何点。但如果用户点击笔记本电脑,我需要这些点。