3

我一直致力于在我使用 TouchImageView 的容器中平移图像。我想要实现的是我想翻译一些关于平移量的其他观点,即翻译。

下面是用户进行平移事件时的 ACTION_MOVE 事件。

                 case MotionEvent.ACTION_MOVE:
                    if (state == State.DRAG) {
                        float deltaX = curr.x - last.x;
                        float deltaY = curr.y - last.y;
                        float fixTransX = getFixDragTrans(deltaX, viewWidth, getImageWidth());
                        float fixTransY = getFixDragTrans(deltaY, viewHeight, getImageHeight());


                        matrix.postTranslate(fixTransX, fixTransY);
                        fixTrans();

                        // this is my function for callbacks. 
                        // This is where I want to restrict callback if translation values from matrix is 0 after scaling / zooming
                        // but it still gives values > 0 if trying to pan.
                        moveViewsWithSameDistance(fixTransX, fixTransY);

                        last.set(curr.x, curr.y);
                    }
                    break;

我面临的问题是在平移图像上翻译标签时效果很好。但是当图像达到它的界限时,它仍然会得到大于/小于 0 的 translationX 或 translationY 值,这使得我的标签超出了界限。有什么办法可以限制额外的翻译。?我试过矩阵法。在缩放图像时达到其边界后,我仍然得到高于 0 的平移值。

4

0 回答 0