了解我的应用的代码段

时间:2018-05-02 14:53:20

标签: java android

我找到了放入我的Android应用程序的示例代码,以使图像可缩放和可拖动。我理解其中的大部分内容,但有一个if语句,我不太明白。

            if (mode == DRAG)
            {
                matrix.set(savedMatrix);
                if (view.getLeft() >= -392)
                {
                    matrix.postTranslate(event.getX() - start.x, event.getY() - start.y);
                }
            }
            else if (mode == ZOOM) {
                float newDist = spacing(event);
                if (newDist > 5f) {
                    matrix.set(savedMatrix);
                    scale = newDist/oldDist;
                    matrix.postScale(scale, scale, mid.x, mid.y);
                }
            }

if语句中-392的意义是什么?

1 个答案:

答案 0 :(得分:5)

该代码的作者认为他不希望被拖得太远。所以他提出了一个硬编码限制。 392就是他选择的限制,可能是基于某些设备上的视图大小。

然而,这有两个方面是个坏主意:

  1. 你应该把它命名为常数。
  2. 由于像素密度,392像素在不同设备上是不同的量。它应该被指定为dp并在运行时进行缩放。