Je n'ai aucune idée de cette animation.
Comment puis-je le faire via XML comme ça? Ou une autre solution?
<?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>
Merci pour votre aide
Vous pouvez passer à la caisse ci-dessous pour savoir comment fonctionne l'animation vibrante
1) Animation tremblante sous Android
2) Animation de vibration
J'espère que cela vous aidera.
Merci
Ce code secoue une vue dans le sens horizontal
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" />
Méthode pour secouer 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) vibrez ou 2) secouez .__ (en utilisant l’animation de propriété), le code suivant fonctionne pour moi.
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();
Créer un fichier d'animation dans le répertoire anim:
<?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);
Créer shake.xml dans le répertoire 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" />
dans votre fichier Java, ajoutez la méthode ci-dessous
public void animateView(View view){
Animation shake = AnimationUtils.loadAnimation(getActivity(), R.anim.shake);
view.startAnimation(shake);
}
et passez votre vue à l'intérieur de la méthode pour l'animation
animateView(yourView);