我正试图在触摸事件上使用计时器旋转图片。我创建了一个没有计时器/线程的方法。但是当我在计时器中使用它时,它不起作用。我在android编程方面不擅长。
----------->这是ontouch事件
@覆盖
public boolean onTouch(View v, MotionEvent event){
t1=new TimerTask()
{
public void run()
{
angle += 40;
spin(angle);
if(angle >=360)
angle = 0;
}
};
t.schedule(t1,2*1000);
return false;
}});
---------->这是我的旋转方法
public void spin(int degree)
{
Bitmap bMap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
Matrix mat = new Matrix();
mat.postRotate(degree);
Bitmap bMapRotate = Bitmap.createBitmap(bMap, 0, 0, bMap.getWidth(), bMap.getHeight(), mat, true);
bottle.setImageBitmap(bMapRotate);
}
答案 0 :(得分:0)
使用android.os.Handler
代替您的计时器 -
@override
public boolean onTouch(View v, MotionEvent event){
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
angle += 40;
spin(angle);
if(angle >=360)
angle = 0;
}
}, 2*1000);
}