私はこのアニメーションを知りません。
どうすればそのような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>
ご協力いただきありがとうございます
このコードは、ビューを水平方向に揺らします
shake.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
}
バイブレーションアニメーションがどのように機能するかについては、以下のリンクからチェックアウトできますか?
1) Androidでのアニメーションの揺れ
2) 振動アニメーション
お役に立てば幸いです。
ありがとう
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();
shake.xmlをanimディレクトリ内に作成します
<set xmlns:Android="http://schemas.Android.com/apk/res/Android">
<rotate
Android:duration="70"
Android:fromDegrees="0"
Android:interpolator="@Android:anim/linear_interpolator"
Android:pivotX="50%"
Android:pivotY="50%"
Android:repeatCount="5"
Android:repeatMode="reverse"
Android:toDegrees="0" />
<translate
Android:duration="70"
Android:fromXDelta="40"
Android:interpolator="@Android:anim/linear_interpolator"
Android:repeatCount="5"
Android:repeatMode="reverse"
Android:toXDelta="-40" />
あなたのJavaファイル内にメソッドを追加する
public void animateView(View view){
Animation shake = AnimationUtils.loadAnimation(getActivity(), R.anim.shake);
view.startAnimation(shake);
}
アニメーションのメソッド内にビューを渡します
animateView(yourView);
アニメーションディレクトリにアニメーションファイルを作成します。
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:duration="200"
Android:fromDegrees="-10"
Android:pivotX="50%"
Android:pivotY="50%"
Android:repeatCount="infinite"
Android:repeatMode="reverse"
Android:toDegrees="10" />
Animation shake = AnimationUtils.loadAnimation(this, R.anim.shake);
your_view.startAnimation(shake);