27

私はこのアニメーションについて何も知りません。

そのようなXMLを介してどのように行うことができますか? または別の解決策?

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:interpolator="@android:anim/accelerate_decelerate_interpolator" 
    android:fillAfter="true"> 
    ......
</set>

ご協力いただきありがとうございます

4

6 に答える 6

32

このコードはビューを水平方向に揺らします

シェイク.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="1000"
    android:fromXDelta="0"
    android:interpolator="@anim/cycle_5"
    android:toXDelta="10" />

cycle_5.xml

<?xml version="1.0" encoding="utf-8"?>
<cycleInterpolator xmlns:android="http://schemas.android.com/apk/res/android"
    android:cycles="5" />

ImageViewを振るメソッド

public void onShakeImage() {    
   Animation shake;
   shake = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.shake);

   ImageView image;
   image = (ImageView) findViewById(R.id.image_view);

   image.startAnimation(shake); // starts animation
}
于 2016-02-18T10:19:53.387 に答える
8

1)振動するか、2)振る(プロパティアニメーションを使用)次のコードが機能します。

 ObjectAnimator rotate = ObjectAnimator.ofFloat(animateView, "rotation", 0f, 20f, 0f, -20f, 0f); // rotate o degree then 20 degree and so on for one loop of rotation.
// animateView (View object) 
        rotate.setRepeatCount(20); // repeat the loop 20 times
        rotate.setDuration(100); // animation play time 100 ms 
        rotate.start();
于 2017-06-14T06:43:26.833 に答える
0

imageViewのBUZZのようなアニメーションを作成しました。ここでは、 Buzzy 効果のように遅延を追加しています。

  1. アクティビティで:

ここanimShakeは、android.view.animation

    animShake = AnimationUtils.loadAnimation(this, R.anim.shake)
    imageView.startAnimation(animShake)

AnimationListenerBUZZ効果の少しの遅延のために追加することを忘れないでください

animShake.setAnimationListener(object : Animation.AnimationListener {
        override fun onAnimationRepeat(animation: Animation?) {

        }

        override fun onAnimationEnd(animation: Animation?) {
            Handler().postDelayed({
                imageView.startAnimation(animShake)
            }, 1000)

        }

        override fun onAnimationStart(animation: Animation?) {

        }
    })
  1. のみを持つアニメーションshakeXML ファイルtranslate:

     android:duration="75"
     android:fromXDelta="-18%"
     android:repeatCount="11"
     android:repeatMode="reverse"
     android:toXDelta="18%" />
    
于 2020-08-02T07:46:52.907 に答える