식 신 흔 들 림 중 그림 흔 들 림 효과

[img]http://dl.iteye.com/upload/attachment/0083/7558/366dea82-aac8-3a89-9052-1442e3d2aeda.jpg[/img]
이렇게 실현 할 수 있다.

btn_shake=(ImageView)findViewById(R.id.btn_shake);
startShakeAnimation(btn_shake);

private void startShakeAnimation(View v){
int pivot = Animation.RELATIVE_TO_SELF;
CycleInterpolator interpolator = new CycleInterpolator(3.0f);
RotateAnimation animation = new RotateAnimation(0, 15, pivot, 0.5f,pivot, 0.5f);
animation.setStartOffset(4000);
animation.setDuration(2000);
animation.setRepeatCount(Animation.INFINITE);
animation.setInterpolator(interpolator);
v.startAnimation(animation);
}

CycleInterpolator 가 무엇 을 사용 하 는 지 알 면 간단 합 니 다. Api demo 에 서 는 사용법 이 있 습 니 다. 고 개 를 저 는 효과 입 니 다!
//////////////////////////////////////////////////////////////////////////////
떨 림:
    android:duration="180"
    android:fromDegrees="-2"
    android:pivotX="100%"
    android:pivotY="100%"
    android:repeatCount="infinite"
    android:repeatMode="reverse"
    android:toDegrees="2" />
Animation shake = AnimationUtils.loadAnimation(context, R.anim.shake);
shake.reset();
shake.setFillAfter(true);
image.startAnimation(shake);
고 개 를 젓 는 효과:
shake.xml






cycle_7.xml






코드 구현:

/**
*
* @param counts 1
* @return
*/
public static Animation shakeAnimation(int counts){
Animation translateAnimation = new TranslateAnimation(0, 10, 0, 0);
translateAnimation.setInterpolator(new CycleInterpolator(counts));
translateAnimation.setDuration(1000);
return translateAnimation;
}

좋은 웹페이지 즐겨찾기