【问题标题】:Clickable scrolling image可点击的滚动图片
【发布时间】:2018-12-28 13:49:04
【问题描述】:

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

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

谢谢

【问题讨论】:

    标签: android image android-imageview


    【解决方案1】:

    如果您想提供这种功能,您必须将图像分成不同的部分。因为 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 的 frameLayout 和顶部的 4 个按钮(左上、右上、左下、右下)并使用以下代码隐藏按钮:

    button.setVisibility(View.GONE);
    

    并围绕按钮的 onClickListener 建立您的功能。

    希望我说得通。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-16
      • 1970-01-01
      相关资源
      最近更新 更多