이미지가있는 레이아웃이 있습니다 (ImageView에 임베드 됨). 이미지를 90도 CCW로 회전시켜야합니다. 내가 회전 이미지를 애니메이션하는 코드를 작성했습니다레이아웃 내에서 ImageView 회전 ... 어떻게합니까?
... : 이미지가 원활하게 90도 회전하지만, 다시 원래 상태로 고정
public class MainActivity extends Activity
{
private ImageView mImageView = null;
private Animation mRotateAnimation = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mImageView = (ImageView) findViewById(R.id.my_image);
mRotateAnimation = AnimationUtils.loadAnimation(this, R.anim.my_rotate_90);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
mImageView.startAnimation(mRotateAnimation);
return true;
}
return super.onTouchEvent(event);
}
}
. 애니메이션이 완료된 후 안드로이드 설명서에서 말하는 것입니다. 아마도 애니메이션이 종료되었다는 알림에서 ImageView (또는 기본 드로어 블)를 변형하고 다시 그릴 수 있도록 무효화 할 수 있습니다.
나는 그것을 할 수있는 방법을 찾을 수 없으며 그걸 수행하는 다른 사람의 예를 찾을 수 없습니다..
/setImageMatrix
을 mImageView
에 사용해 보았습니다. 아무런 효과가 없었습니다. 이미지를 회전시킬 Drawable 하위 클래스가 있지만 ImageView에 setDrawable() 메서드가 없으므로 사용 방법이 표시되지 않습니다.
예제를 검색했습니다. 애니메이션과 회전 (특히 LunarLander)이 포함 된 이미지가 있지만 그 중 일부는 ImageView에 애니메이션을 적용한 다음 변형 된 상태로 남겨 두지 않습니다.
확실하게 나는 여기에서 간단한 것을 놓치고 있습니다 ... aaaargh, 어떻게 레이아웃 내에서 ImageView를 회전합니까?
감사합니다.
90도를 추가하면 좋을 것입니다. 회전은 어느 정도의 각도가 될 수 있으므로 "각 이미지의 4 가지 버전 만들기 : 0, 90, 180 및 270도 회전"이 솔루션으로 작동하지 않습니다 ... –