我想旋轉此圖像上的透明PNG之一。數字部分就是我想旋轉的東西。我能做到這一點,但它不是我所試圖實現Android,幫助旋轉圖像
http://i48.tinypic.com/25exzle.png
我要像一個真正的密碼鎖旋轉的數字。因此,用戶將觸摸並將他們的手指移動一圈。我在觸摸/移動事件時看着不太精確的圖像旋轉,但它們不夠。
這是目前我的代碼
public boolean onTouch(View v, MotionEvent event) {
double r=Math.atan2(event.getX()-lockNumbers.getWidth(), lockNumbers.getHeight()-event.getY());
int rotation=(int)Math.toDegrees(r);
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
break;
case MotionEvent.ACTION_MOVE:
x=event.getX();
y=event.getY();
updateRotation(rotation);
break;
case MotionEvent.ACTION_UP:
break;
}//switch
return true;
}//onTouch
private void updateRotation(double rot){
float newRot=new Float(rot);
Bitmap bitmap=BitmapFactory.decodeResource(getResources(),R.drawable.numbers);
Matrix matrix=new Matrix();
matrix.postRotate(newRot,bitmap.getWidth(),bitmap.getHeight());
if(y>250){
Bitmap reDrawnBitmap=Bitmap.createBitmap(bitmap,0,0,bitmap.getWidth(),bitmap.getHeight(),matrix,true);
lockNumbers.setImageBitmap(reDrawnBitmap);
}
else{
Bitmap reDrawnBitmap=Bitmap.createBitmap(bitmap,0,0,bitmap.getWidth(),bitmap.getHeight(),matrix,true);
lockNumbers.setImageBitmap(reDrawnBitmap);
}
}
也調整大小,當你觸摸它,因爲矩陣參數的位圖。這不是預期的效果。
用戶幾乎需要用手指繞圈。
我該如何檢測ACTION_UP事件執行了多少次旋轉? – IronBlossom 2012-08-04 12:05:36