이 이미지에서 투명 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);
}
}
그것은 또한 당신이 때문에 matrix 매개 변수의 만지지 비트 맵의 크기를 조절합니다. 이것은 원하는 효과가 아닙니다.
사용자는 손가락으로 서클을 가야합니다.
ACTION_UP 이벤트에서 얼마나 많은 회전이 수행되었는지 감지 할 수 있습니까? – IronBlossom