我有一个活动,其中包含可滚动的图像视图->图像大于手机屏幕,因此可滚动。
我希望图像的几个点可以单击。 如果图像可滚动怎么办,我还需要检测用户单击了图像的哪一部分?
谢谢
答案 0 :(得分:0)
如果要提供这种功能,则必须将图像分为不同的部分。因为ImageView是一个能够处理整个图像本身的触发事件的元素。触摸中间,右上,左下,右四分之一或任何位置都没有关系。您唯一可以确定的是通过以下功能放置触摸的X和Y关联器:
imageView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN){
String xCordinate = String.valueOf(event.getX()
String yCordinate = String.valueOf(event.getY();
}
return true;
}
});
此外,如果要基于单击图像的哪个部分/部分来处理单个图像上的不同事件,则必须隐藏将触发事件的元素。在这种情况下,您可以使用带有ImageView背面和顶部4个按钮(左上,右上,左下,右下)的frameLayout,并使用以下代码隐藏按钮:
button.setVisibility(View.GONE);
并使功能围绕按钮的onClickListener进行。
希望我有道理。