android - 可点击的滚动图像

标签 android image android-imageview

我有一个包含可滚动 ImageView 的 Activity -> 该图像比手机屏幕大,因此它是可滚动的。

我希望图像的几个点可以点击。 如果图像是可滚动的并且我还需要检测用户点击了图像的哪一部分,那怎么可能呢?

谢谢

最佳答案

好吧,如果您想提供那种功能,您必须将图像分成不同的部分。因为 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;
    }
});

此外,如果您想根据单击图像的哪个部分/部分来处理单个图像上的不同事件,则必须隐藏将触发该事件的元素。在这种情况下,您可以使用 frameLayout,背面有 ImageView,顶部有 4 个按钮(左上、右上、左下、右下),并使用以下代码隐藏按钮:

button.setVisibility(View.GONE);

并使您的功能基于按钮的 onClickListener。

希望我说的有道理。

关于android - 可点击的滚动图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53959592/

相关文章:

php - WordPress - 每个帖子多张图片

android - Android中的二维矩形碰撞检测

安卓 : How to parse a string with a multicharacter delimitation

android - Flutter dart 调试器断点停止工作

java - 无法在 Android Studio 中使用 getFont

css - 无法让背景图片在 stacklayout 上工作

http - 处理 HTTPS 页面中的 HTTP 内容

android - 如何从 url 保存图像?

Android - 显示图像裁剪中心

java - 异步任务: Two values to AsyncTask and process in doInBackground