android imageview图片旋转动画,Android旋转imageview,我无法在onAnimationEnd()中设...

我想在每次点击按钮时将图像视图从30度旋转.

在第一个clic,我可以正确设置动画,但我不能成功更新动画后的imageview位置.当我再次单击按钮时,动画从imageview的原始位置开始,而不是从第一个动画后的最终位置开始.

这是我的代码:

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

turnImg = (ImageView) findViewById(R.id.imageViewturnImg );

Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.imgTurn);

// Getting width & height of the given image.

int w = bmp.getWidth();

int h = bmp.getHeight();

turnImg .setImageBitmap(bmp);

Button buttonok = (Button) findViewById(R.id.buttonok);

buttonok.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

turn();

}

});

}

public void turn()

{

float degrees = 30;

RotateAnimation anim = new RotateAnimation(0, degrees,Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF,0.5f);

anim.setInterpolator(new LinearInterpolator());

anim.setDuration(300);

anim.setFillEnabled(true);

anim.setFillAfter(true);

anim.setAnimationListener(new AnimationListener() {

@Override

public void onAnimationEnd(Animation arg0) {

Matrix mat = turnImg.getImageMatrix();

mat.postRotate(30,turnImg.getWidth()/2, turnImg.getHeight()/2);

turnImg.setScaleType(ScaleType.MATRIX);

turnImg.setImageMatrix(mat);

}

@Override

public void onAnimationRepeat(Animation animation) {}

@Override

public void onAnimationStart(Animation animation) {}

});

turnImg.startAnimation(anim);

}

我认为问题来自于我在onAnimationEnd()中实现位置的方式.

ps:抱歉我的英语不好……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值