2013-02-04 34 views
15

के लिए कंपन एनीमेशन कैसे बना सकता हूं मुझे इस एनीमेशन के बारे में कोई जानकारी नहीं है।मैं ImageView

मैं इसे 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> 

अपने helf के लिए धन्यवाद

+0

जांच इस उत्तर: यह मेरे लिए महान काम किया http://stackoverflow.com/a/9449590/607968 – rDroid

उत्तर

11

आप कैसे कंपन एनीमेशन कार्यों के लिए के लिए लिंक नीचे चेकआउट कर सकते हैं?

1) Shaking animation in android
2) Vibration animation

मुझे आशा है कि यह आप में मदद मिलेगी।

धन्यवाद

+0

हाय, मुझे नहीं मतलब कंपन एंड्रॉइड डिवाइस मेरा मतलब है ImageView –

+1

का एनीमेशन आप कहने का मतलब है कि आप छविदृश्य को हिला देना चाहते हैं? – GrIsHu

+0

हां, मेरा मतलब है कि –

8

इस कोड को क्षैतिज दिशा में एक दृश्य को हिला

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 
} 
+0

सेटएनीमेशन इसे शुरू नहीं करता है। आपको एनीमेशन शुरू करने के लिए स्टार्टएनीमेशन (शेक) का उपयोग करने की आवश्यकता है। – Eli

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(); 
0

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);