public void zoomView(float factor) { float newScaling; if (scalingInterpolator.isActive()) { newScaling = scalingInterpolator.getEndValue() * factor; } else { newScaling = currentScaling * factor; } scalingInterpolator.setStartEndValues(currentScaling, newScaling); scalingInterpolator.startInterpolating(); }
public void translateView(float transX, float transY) { float newTransX; float newTransY; if (transX != 0.0f) { if (translationXInterpolator.isActive()) { newTransX = translationXInterpolator.getEndValue() + transX; } else { newTransX = currentTranslation[0] + transX; } translationXInterpolator.setStartEndValues(currentTranslation[0], newTransX); translationXInterpolator.startInterpolating(); } if (transY != 0.0f) { if (translationYInterpolator.isActive()) { newTransY = translationYInterpolator.getEndValue() + transY; } else { newTransY = currentTranslation[1] + transY; } translationYInterpolator.setStartEndValues(currentTranslation[1], newTransY); translationYInterpolator.startInterpolating(); } }