首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >onResize事件在我提起其中一个手指之前完成

onResize事件在我提起其中一个手指之前完成
EN

Stack Overflow用户
提问于 2016-09-27 17:40:24
回答 1查看 46关注 0票数 0

我使用下面的代码来处理android上的resize(pinch)事件:

代码语言:javascript
复制
//my custom framelayout supporting resize functionality
ScalingFrameLayout pieceContainer=(ScalingFrameLayout)fragment.getView().findViewById(R.id.pieceContainer);
//set onResize handler
setScaleListener(pieceContainer.getContext());
//tonnel touch events to gesture detector
pieceContainer.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            mScaleDetector.onTouchEvent(event);
            return true;
        }
    });
...
//somewhere in the class
private ScaleGestureDetector mScaleDetector;
//
private void setScaleListener(Context context) {
mScaleDetector= new ScaleGestureDetector(context, new ScaleGestureDetector.OnScaleGestureListener() {
        @Override
        public void onScaleEnd(ScaleGestureDetector detector) {
            Log.d("onScaleEnd", "end");
        }
        @Override
        public boolean onScaleBegin(ScaleGestureDetector detector) {
            Log.d("onScaleBegin", "begin");
            return true;
        }
        @Override
        public boolean onScale(ScaleGestureDetector detector) {
            Log.d("onScale", "zoom ongoing, scale: " + detector.getScaleFactor());
            return false;
        }
    });
}

问题是,当我做放大手势时(例如),这段代码调用onScaleBegin,然后调用5-6次onScale,最后调用onScaleEnd。虽然我没有从screen.Is上抬起任何手指,但有什么方法可以阻止ScaleGestureDetector调用onScaleEnd,并让它一直跟踪我的缩放手势,直到我释放屏幕?

EN

回答 1

Stack Overflow用户

发布于 2016-09-28 00:43:27

通过在frameLayout上实现自定义的双向滚动视图,解决了这一问题。

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

https://stackoverflow.com/questions/39721265

复制
相关文章

相似问题

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