and6

public void finishZoomOutAnimation() {
if (at != null) {
if (at.isAlive()) {
dragZoomOutAnimation = true;
at.setEndScale(INIT_REDUCE_FINAL_VALUE);
at.setSleepTime(FINISH_ZOOM_OUT_SLEEP_TIME);
at.setAnimationState(AnimationThread.STATE_ZOOM_OUT);
setAnimationListener();
} else {
dragZoomOutAnimation = true;
at = new AnimationThread(this, getScaleValue(matrix), INIT_REDUCE_FINAL_VALUE, SCALE_INCREMENT_VALUE,
FINISH_ZOOM_OUT_SLEEP_TIME);
needScaleCenterImg = true;
setAnimationListener();
at.start();
}
}
}

private void setAnimationListener() {
at.setOnListener(new AnimationThread.AnimationListener() {
public void onStart() {
}

public void onEnd() {
needScaleCenterImg = false;
if (at != null) {
at.setCurrentScale(BLOWUP_FINAL_VALUE);
}
}

public void onError() {
}
});
}

private float getScaleValue(Matrix matrix) {
float[] a = new float[9];
matrix.getValues(a);
return a[0];
}

private void drawCenterImg(Canvas canvas, boolean flag) {
LengthCalculate calculate = LengthCalculate.getInstance();
Drawable centerDrag = getResources().getDrawable(R.drawable.center_drag);
Rect rect = new Rect(0, 0, getWidth(), getHeight() - calculate.getGroupHeight());
if (flag) {
matrix.setScale(at.getCurrentScale(), at.getCurrentScale(), calculate.getCenterPointX(this),
calculate.getCenterPointY(this));
}
canvas.concat(matrix);
centerDrag.setBounds(rect);
centerDrag.draw(canvas);
}

private void startAnimation(float start, float end, float increment, long sleepTime) {
if (at != null) {
at.stopAnimation();
}

at = new AnimationThread(this, start, end, increment, sleepTime);
needScaleCenterImg = true;
at.start();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值