Tôi đang cố gắng xoay một trong các PNG trong suốt trên hình ảnh này. Phần số là những gì tôi muốn xoay. Tôi có thể làm được điều này, nhưng nó không phải là những gì tôi đang cố gắng để đạtAndroid, giúp xoay hình ảnh khi chạm vào
http://i48.tinypic.com/25exzle.png
Tôi muốn xoay số như trên một khóa kết hợp thực sự. Vì vậy, người dùng sẽ chạm và di chuyển ngón tay của họ trong một vòng tròn. Tôi đã xem xét việc xoay hình ảnh kém chính xác hơn trên các sự kiện chạm/di chuyển và chúng không đủ.
này hiện đang là mã của tôi
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);
}
}
nó cũng thay đổi kích thước bitmap khi bạn chạm vào nó vì tham số ma trận. Đây không phải là hiệu ứng mong muốn.
Người dùng sẽ được yêu cầu phải đi theo vòng tròn bằng ngón tay của họ.
làm thế nào tôi có thể phát hiện có bao nhiêu vòng quay đã được thực hiện trên sự kiện ACTION_UP? – IronBlossom