首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在scalegesturedetector android中区分放大和缩小

在scalegesturedetector android中区分放大和缩小
EN

Stack Overflow用户
提问于 2013-11-28 22:39:25
回答 1查看 1.8K关注 0票数 2

无法区分用户是使用scaleGestureDetector进行放大还是缩小

代码语言:javascript
复制
mZoomGestureDetector = new ScaleGestureDetector(getActivity(), new OnScaleGestureListener()
        {

            int intFactor=0;
            boolean firstVisited = false;

            private float mScaleFactor2;
            private float currectScale= -100;
            private float startScale;
            private float endScale;

            @Override
            public void onScaleEnd(ScaleGestureDetector detector)
            {
                endScale = detector.getScaleFactor();

//this condition does not pass. not > or < succeeds
                if (startScale > endScale) {
                    Log.i("onScaleEnd", "Pinch Dection");
                } else if (startScale < endScale) {
                    Log.i("onScaleEnd", "Zoom Dection");
                } 
                setFontSize(intFactor);

            }


            @Override
            public boolean onScaleBegin(ScaleGestureDetector detector)
            {

                startScale = detector.getScaleFactor();

                return true;
            }

            @Override
            public boolean onScale(ScaleGestureDetector detector)
            {
                //Log.i("ScaleFactor", "Scale Factor original " + detector.getScaleFactor());

                mScaleFactor = detector.getScaleFactor() * 100;



                Log.i("ScaleFactor", "Scale Factor : On  " + mScaleFactor);

                intFactor = (int) mScaleFactor;


                return true;
            }
        });
        ;
EN

回答 1

Stack Overflow用户

发布于 2013-11-29 17:34:20

我的解决方法如下:

代码语言:javascript
复制
            @Override
            public boolean onScale(ScaleGestureDetector detector)
            {

                double scaleFactor = detector.getScaleFactor();
                if (1.0f > scaleFactor) {
                    mode = 0;//Log.i("ScaleFactor", "Pinch Dection");
                } else  {
                    mode = 1;//Log.i("onScaleEnd", "Zoom Dection");
                } 

}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20268842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档