捏Zoom和onClickListener的相同布局在Android中不起作用 [英] Pinch Zoom and onClickListener for same layout not working in Android

查看:49
本文介绍了捏Zoom和onClickListener的相同布局在Android中不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经尝试根据下面的链接在Android中实现PinchZoom自定义布局。

https://gist.github.com/anorth/9845602

同时针对相同的布局在ClickListener上实现。但是,当我点击布局中的特定位置时,它不能正常工作,在onClick功能之后,收缩缩放不能工作。否则工作正常。

如何解决此问题?

有没有人提建议将不胜感激。

推荐答案

试试这个可能对您有帮助

无需设置onClick()方法OnTouch()将同时处理这两种情况。

com.example.demo包;

import android.app.Activity;
import android.os.Bundle;
import android.view.GestureDetector;
import android.view.GestureDetector.SimpleOnGestureListener;
import android.view.Menu;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.ImageButton;

public class MainActivity extends Activity {
    private GestureDetector gestureDetector;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        gestureDetector = new GestureDetector(this, new SingleTapConfirm());
        ImageButton imageButton = (ImageButton) findViewById(R.id.img);

        imageButton.setOnTouchListener(new OnTouchListener() {

            @Override
            public boolean onTouch(View arg0, MotionEvent arg1) {

                if (gestureDetector.onTouchEvent(arg1)) {
                    // single tap
                    return true;
                } else {
                    // your code for move and drag
                }

                return false;
            }
        });

    }

    private class SingleTapConfirm extends SimpleOnGestureListener {

        @Override
        public boolean onSingleTapConfirmed(MotionEvent event) {
            return true;
        }
    }

}

这篇关于捏Zoom和onClickListener的相同布局在Android中不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆