2011-10-06 11 views
6

मैं टेक्स्ट एनीमेशन करने और टेक्स्ट व्यू में टेक्स्ट के आकार को बदलने में सक्षम होना चाहता हूं। मैंने पढ़ा है कि एंड्रॉइड में संपत्ति एनिमेशन हैं लेकिन अगर कोई एक साधारण कोड जानता है जो मेरे लिए ऐसा कर सकता है या कहीं उदाहरण है तो मैं इसकी सराहना करता हूं। अग्रिम धन्यवाद!टेक्स्टव्यू के टेक्स्ट आकार की एनीमेशन

+0

संबंधित [एंड्रॉइड टेक्स्टव्यू के टेक्स्ट आकार का एनीमेशन और पूरे टेक्स्ट व्यू नहीं] [// stackoverflow.com/a/30324368) – Tushar

उत्तर

15

scale.xml

<?xml version="1.0" encoding="utf-8"?> 
<set 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <scale 
      android:fromXScale="1.0" 
      android:fromYScale="1.0" 
      android:toXScale="2.0" 
      android:toYScale="2.0" 
      android:duration="3000"></scale> 
</set> 

एक गतिविधि में एक समारोह:

private void RunAnimation() 
{ 
    Animation a = AnimationUtils.loadAnimation(this, R.anim.scale); 
    a.reset(); 
    TextView tv = (TextView) findViewById(R.id.firstTextView); 
    tv.clearAnimation(); 
    tv.startAnimation(a); 
} 

निकाला जाता है और आप बटन घटना उपयोग कर रहे हैं एनीमेशन दिखाने के लिए से here

+1

धन्यवाद, इससे मुझे बहुत मदद मिली। लेकिन मैं भी भटक रहा था कि पाठ पर संपत्ति एनीमेशन के साथ किया जा सकता है, न कि संपूर्ण पाठ दृश्य? – Sandra

+0

'scale.xml' **/res/anim/** – gnB

3

कैसे this link? विशेष रूप से पैमाने के उदाहरण। यह कई अलग-अलग प्रकार के एंड्रॉइड एनिमेशन के लिए स्रोत कोड और वीडियो प्रदान करता है।

+1

आपके त्वरित आर के लिए धन्यवाद esponse और लिंक के लिए। मैं इसकी जांच करुँगा। – Sandra

+0

लिंक में भरोसा न करें क्योंकि यह भविष्य में नीचे जा सकता है। उत्तर के लिंक का प्रासंगिक हिस्सा जोड़ें। –

5
Animation animation=new TranslateAnimation(0,480,0,0); 
animation.setDuration(5000); 
animation.setRepeatMode(Animation.RESTART); 
animation.setRepeatCount(Animation.INFINITE); 
text.startAnimation(animation); 
// applying animation to textview object.. 

संशोधित तो डाल ऑनक्लिक() के अंदर कोड अन्यथा ओवरवाइड विधि का उपयोग करेंविंडोफोकस चेंज किया गया (बूलियन hasFocus) एनीमेशन शुरू करने के लिए

1
एंड्रॉयड

final float startSize = o; // Size in pixels 
    final float endSize = 30; 
    final int animationDuration = 1000; // Animation duration in ms 

    ValueAnimator animator = ValueAnimator.ofFloat(startSize, endSize); 
    animator.setDuration(animationDuration); 

    animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { 
     @Override 
     public void onAnimationUpdate(ValueAnimator valueAnimator) { 
      float animatedValue = (float) valueAnimator.getAnimatedValue(); 
      tv.setTextSize(animatedValue); 
     } 
    }); 

    animator.start(); 

में

उपयोग ValueAnimator वर्ग इस लिंक ValueAnimator

उल्लेख एक अन्य समाधान है कि TextView या अपनी मूल लेआउट पर पैमाने एनीमेशन लागू है

ScaleAnimation scaleAnimation = new ScaleAnimation(0.7f, 1.1f, 0.7f, 1.1f, ScaleAnimation.RELATIVE_TO_SELF, 0.5f, 
        ScaleAnimation.RELATIVE_TO_SELF, 0.5f); 
scaleAnimation.setDuration(600); 
viewZoom.startAnimation(scaleAnimation); 
+0

के तहत चला जाता है [इस उत्तर] से कॉपी कोड (http://stackoverflow.com/a/30324368/2025923) – Tushar

+0

OnePlus3T पर भी आसानी से काम नहीं करता है ( –

संबंधित मुद्दे