移动手指后检测ACTION_UP

时间:2015-03-05 10:55:05

标签: java android

尝试获取图像预览功能,将手指放在缩略图上会显示完整图像。释放手指将使完整图像消失。

这很容易实现,但是如果用户在释放之前将手指从ImageView移开,则ACTION_UP将不会触发。

@Override
public boolean onTouch(View v, MotionEvent e)
{
    if (v.getId() == R.id.gallery_iv_pose_thumb)
    {
        // This works fine
        if (e.getAction() == MotionEvent.ACTION_DOWN)
        {
                preview.setImageBitmap(galleryAdapter.getGalleryItemFromChildView(v).getImage());
                preview.setVisibility(View.VISIBLE);
                return true;
        }
        // This only fires if a finger is released over the initial view
        else if (e.getAction() == MotionEvent.ACTION_UP)
        {
            preview.setVisibility(View.INVISIBLE);
            return true;
        }
    }

我试图简单地听取整个布局的ACTION_UP事件,但这需要处理布局的ACTION_DOWN ...这使我无法收听缩略图的ACTION_DOWN事件。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

如果你移出界限,将会调用ACTION_CANCEL。

所以这应该有效:

else if (e.getAction() == MotionEvent.ACTION_UP || e.getAction() == MotionEvent.ACTION_CANCEL)