Wednesday, July 17, 2013

Apply animation on TextView

Apply animation on TextView


To create animation, create xml file to define animation in /res/anim/ folder, /res/anim/myanimation.xml.
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
   android:interpolator="@android:anim/linear_interpolator">
   <scale
       android:fromXScale="1.0"
       android:toXScale="0.8"
       android:fromYScale="1.0"
       android:toYScale="1.2"
       android:pivotX="50%"
       android:pivotY="50%"
       android:duration="100"
       android:repeatCount="4"
       android:repeatMode="reverse" />
</set>


In Java code, create Animation of the anim resource file with AnimationUtils.loadAnimation() method, and start the animation with startAnimation() method of the target view.
package com.example.androidtextview;

import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.TextView;
import android.app.Activity;

public class MainActivity extends Activity {
 
 Animation myAnimation;
 TextView myText;
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  myText = (TextView)findViewById(R.id.mytext);
  
  myAnimation = AnimationUtils.loadAnimation(this, R.anim.myanimation);
  
  myText.setOnClickListener(new OnClickListener(){

   @Override
   public void onClick(View arg0) {
    myText.startAnimation(myAnimation);
   }});
 }

}


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello"
        android:textStyle="bold|italic"
        android:layout_gravity="center_horizontal" />

    <TextView
        android:id="@+id/mytext"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="http://android-er.blogspot.com/"
        android:textStyle="bold"
        android:textSize="30sp"
        android:textColor="#0000ff" />

</LinearLayout>



3 comments:

ThemeBowl said...

Thanks for sharing these tutorial.are there any other animation effect ie like breathing text effect etc?

Unknown said...

Thanks, its working fine....

Anonymous said...

it works ............. good job