Android: Switching screens in an Activity with animations (using ViewFlipper)

Posted May 26th @ 11:48 pm by Boyan Tsolov


In this post I’ll show you how to add animations when trying to switch between screens. Usually when you switch between screens it’s a direct “poof” and the new screen appears in a very un-graceful way. The SDK offers a bunch of easy-to-use animations, and I’ll show you how to use them here.

I tried doing animations on the opening and closing of activities, but I haven’t figured that out yet fully. So instead, I will show you how to use animations when switching on objects/layers inside the same activity. It will still look like you are switching screens, but all the layout data will be in one single XML. If we were to switch between activities, each activity would have had (usually) its own layout XML.

And in the post coming after this one, I’ll show you how to start this animation and switch the screen while dragging your fingers on the touch screen. Let me be a little more precise: while dragging one finger on the touch screen. I’m not sure if the OS handles multi-touch right now – or if that’s something the device has to enable – or both.

Back to the topic: how to switch between layers using animations to make it look like you are changing screens… we will be using a ViewFlipper widget in the layout XML.

1. Create a new Android project, unless you already have one

01 new project

2. Create a new Activity class that extends

02 new class

3. Create a new directory under the /res directory and call it anim

03 res directory

4. Right-click on the new directory called anim and Import all the XML files from: Android_SDK\Platform\android-1.5\samples\ApiDemos\res\anim.

These are animations created using XML. The same animations can be created in code, but these are ready for us to use in XML.

04 anim directory

5. Open res\layout\main.xml and copy/paste the following in:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android=""

    <ViewFlipper android:id="@+id/details"


            <TextView android:id="@+id/tv_country"
            android:text="Country" >
            <Spinner android:text=""
            <Button android:text="Next"


            <TextView android:id="@+id/tv_income"
            android:text="Income" >
            <EditText android:text=""
            <Button android:text="Previous"



This is a little long, let’s inspect it more closely.

  • The outmost layer is a LinearLayout.
  • It contains only one inner layer: ViewFlipper
  • The first-level layers inside ViewFlipper will be the screens!
      • ViewFlipper contains 2 LinearLayouts. Each LinearLayout is 1 screen.
  • The first LinearLayout contains a label, a spinner (a dropdown), and a button
  • The second LinearLayout contains a label, an edit view (input box), and a button

6. Here is what Activity1.cs looks like:

package com.warriorpoint.taxman3;

import android.os.Bundle;
import android.view.View;
import android.view.animation.AnimationUtils;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.ViewFlipper;

public class Activity1 extends Activity {
    /** Called when the activity is first created. */
    public void onCreate(Bundle savedInstanceState) {

        // Set main.XML as the layout for this Activity

        // Add a few countries to the spinner
        Spinner spinnerCountries = (Spinner) findViewById(;
        ArrayAdapter countryArrayAdapter = new ArrayAdapter(this,
                    new String[] { "Canada", "USA" });

        // Set the listener for Button_Next, a quick and dirty way to create a listener
        Button buttonNext = (Button) findViewById(;
        buttonNext.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                // Get the ViewFlipper from the layout
                ViewFlipper vf = (ViewFlipper) findViewById(;

                // Set an animation from res/anim: I pick push left in
                vf.setAnimation(AnimationUtils.loadAnimation(view.getContext(), R.anim.push_left_in));

        // Set the listener for Button_Previous, a quick and dirty way to create a listener
        Button buttonPrevious = (Button) findViewById(;
        buttonPrevious.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                // Get the ViewFlipper from the layout
                ViewFlipper vf = (ViewFlipper) findViewById(;
                // Set an animation from res/anim: I pick push left out
                vf.setAnimation(AnimationUtils.loadAnimation(view.getContext(), R.anim.push_left_out));



Let’s try and decipher the code:

  • First I set the main.xml to be the layout for this Activity
  • I input Canada and USA as the values in my dropdown (the Spinner object)
  • Then I create two listeners for the two buttons that I have Button_next and Button_previous
  • Each button does the following:
      • Gets a reference to the ViewFlipper
      • Sets an animation by passing it the context of this class and an animation from a res/anim XML file
      • showNext() or showPrevious() is called – which literally flips between the LinearLayouts in the ViewFlipper widget in the main.xml either forwards or backwards

That’s it! Run it!

Look at that fancy Spinner!

05 spinner

Click Next and watch it flow!

06 animation

Disclaimer: There is a problem with the back animation when you press “Previous”. It flickers a little and doesn’t flow properly backwards. I still have to figure out why. If anyone knows why, drop me a comment below!

Next up: Removing the “Next” and “Previous” buttons and switching screens by using your finger to drag on the touch screen.

4 Trackbacks/Pingbacks

  1. Pingback: Android: Switching screens by dragging over the touch screen | Warrior Point - Latest News on SaaS & Tutorials for On-demand Software on May 29, 2009
  2. Pingback: Android GUI examples on June 3, 2010
  3. Pingback: Animaciones para cambiar entre actividades | | AndroideityAndroideity on December 17, 2011
  4. Pingback: Sliding Image in imageView Android | Android Development tutorial | Android Development tutorial on September 28, 2012


  1. stephen
    June 6, 2009 at 04:16

    Hi for the disclaimer.. try using another animation R.anim.slide_right instead of push_left_out . thanks for the tutorial it’s really great!

  2. Boyan
    June 7, 2009 at 15:56

    Thanks Stephen, I’ll try it out!

  3. StarHan
    June 29, 2009 at 03:42

    why i can’t rotate an acitivity with y axle but it works well when a view rotates? Is there any difference between an acitivity and a view when they are appled rotateanimation which rotated with y axle?
    thanks for your help!

  4. jong10
    November 5, 2009 at 22:06

    Thank you! It’s great!!

  5. shining
    November 5, 2009 at 22:08


    I have found this for a loooooooooooooong time!

    Thank you.

  6. tse
    January 26, 2010 at 01:57

    R.anim.push_left_in error

  7. tse
    January 26, 2010 at 01:57

    help me

  8. drne
    February 19, 2010 at 11:57

    In my case it just flicks, not animates, so it may be something with emulator. I have not tried it on the device.

  9. Tom
    March 3, 2010 at 15:44

    for the diclaimer, try to set 4 different animations

    next screen:
    vf.setInAnimation() … 100 -> 0 in the animation xml
    vf.setOutAnimation() … 0 -> -100 in the animation xml

    previous direction:
    vf.setInAnimation() … -100 -> 0 in the animation xml
    vf.setOutAnimation() … 0 -> 100 in the animation xml

  10. John
    April 6, 2010 at 04:54

    Hi all i am new to android .
    i want to develop calendar application in android.
    but i dont know how to start,if any one have examples related to android plz do mail me .

    Thanks and Regards

  11. Somedude
    June 6, 2010 at 06:25

    In step 6 you wrote Activity1.cs instead of!!! Come on man :P Thanks anyhow for the great tutorial.. Keep it up!

  12. Matt
    July 8, 2010 at 15:22

    LOL, I can tell you’re an old C# developer; it’s not Activity1.cs, it’s :)

  13. rosebeat
    September 19, 2010 at 05:17

    Whenever I click on Next, I get the error “Application stopped unexpectedly” and I have to force close it. Why is that? Please help me. I have tried other examples of switching between the activites and the same thing happened. Whenever i click on next it gives me runtime error.
    Anyone has any idea why is it so?

  14. and
    September 23, 2010 at 06:17

    Have u kept the following code in AndroidManifest file

    hope this should work for you

  15. and
    September 23, 2010 at 06:17

    Have u kept the following code in AndroidManifest file

    hope this should work for you

  16. and
    September 23, 2010 at 06:21

    did u kept the foll code in AndroidManifest file

    hope this should work for you

  17. Baluk
    December 6, 2010 at 11:06

    Thanks for the helpful tutorial. I want to switch between activities by clicking a button through animate. This tutorials tells about multiple screens in one activity. So can any one tell me how to work with 2 with this animate file.

    Thank You,

  18. Sticker Printing Los Angeles CA
    December 23, 2010 at 02:47

    Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.

  19. Praveen
    December 24, 2010 at 03:46

    Hello John, I’m new to android and I also tried developing a simple calendar and I could do it. please tell me ur mail id I shall send u the sorce code, u can go thro it and understand.

    Hello Everybody,
    I need to change the layout view in my calendar application from month view to week view and day view as well. Here I should do it without changing the activity. Please someone help me in doing this with single activity.


  20. Shaiful
    February 8, 2011 at 04:15

    Can I get the source code for the animations?

  21. premsagar
    February 11, 2011 at 07:43

    how can i get animation of paper folding…?
    can i get source code for that?

  22. premsagar
    February 16, 2011 at 01:03

    Dear Sir,

    I’m new coming in Graphic development. And I need to compose a animation of Paper folding in Android.

    Anyone have tutorial or sample code for my reference?

  23. Appliance Repair Memphis TN
    February 25, 2011 at 02:42

    Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform.

  24. beginner
    April 6, 2011 at 18:41

    Please provide a zipped file, that should make it less frustrating.

  25. Alex
    October 3, 2011 at 11:49

    This is the right blog for anyone who wants to find out about this topic. Great stuff, just great!

    Best regards Alex

  26. plo
    December 11, 2011 at 13:31

    my previous button is not working …force close is error

  27. Art
    March 3, 2012 at 14:09

    Can Anybody Help me????? Is it possible to drag between XML files????

  28. Luiz Verçosa
    March 22, 2012 at 17:52

    Very good! It helped me. Thanks!!!

  29. Brazilian dude
    May 23, 2012 at 18:19

    Thanks, dude… I was getting crazy with it. God bless you!

  30. Ashish
    June 5, 2012 at 07:10

    It really helps man, thanks allot for your contribution

  31. Davidson
    June 9, 2012 at 08:45

    I have got a lot problem getting my emulator to connect the connection breaks and it doe not display my project but it works fine I use windows xp please help me

  32. Olzhas
    June 26, 2012 at 01:53

    It’s possible to create animation between class or activities? If yes, how i can do it?

  33. Olzhas
    June 26, 2012 at 01:57

    It’s possible to create animation between class or activities? If yes, how i can do it?in class i use andengine, and i want switching class of andengine

  34. Sahar.b
    July 26, 2012 at 17:29

    I’m getting white screen before the slide animation..
    what should I do?


  35. Andhika
    October 15, 2012 at 03:55

    Very good tutor, thanx !!
    I’am start create new project android now..

  36. Gezim
    March 6, 2013 at 04:24

    Hi guys, thanks for this post, I’m new here and I don’t know what is anim.push_left_in on this line vf.setAnimation(AnimationUtils.loadAnimation(view.getContext(), R.anim.push_left_in));
    In my class I have no “anim” and I don’t know what should contains this anim, can anyone help me?

  37. gry komputerowe w biedronce
    April 13, 2014 at 05:38

    What i don’t understood is in truth how you are now not actually a lot more smartly-liked than you might be right now. You are so intelligent. You know thus considerably when it comes to this subject, made me in my opinion believe it from numerous varied angles. Its like women and men don’t seem to be involved until it’s something to accomplish with Girl gaga! Your own stuffs excellent. Always maintain it up!

Leave a comment

Standard Login



  • free amatuer wife threesome videos
  • free xxx nudism movies
  • african pussy pictures galleries
  • hot puffy nipples girl
  • hardcore free sex tapes
  • handjob gallery movies
  • brazil topless bikini video
  • erotic nights sex video
  • mellisa midwest hardcore pictures
  • naked women licking pussy video
  • Sex choi teen
  • movies fucking big tits free
  • asain teen massage orgasm movies
  • thick black women vids
  • donk cars and naked girls
  • Male masturbation products
  • speculum wide pussy gyno
  • my teens loves black cocok
  • old guys young girl sex
  • free bondage anal
  • famke jansson sex video
  • free sex vids powered by java
  • black ass booty pics
  • japans secret to bigger breasts
  • amirecan teen xxx videos
  • couples teen slutload
  • free online videos of panties
  • self injury and picture of girl
  • phat ass black tgirl vids
  • free videos no paysite
  • Hot sexy naked pussy
  • naked native sex
  • japan amateur baseball association teams
  • wife loves to give oral sex
  • naked tribal videos
  • pictures of girls peeing
  • Young daughters sex
  • topless sport pics
  • young teen couple slutload
  • My sex pussy
  • black dies fuck white stud s
  • free xxx gamble for wife
  • bizzare video uploaded
  • couple amateur teen fuck tube
  • star bambi galleries
  • tightes pussy getting fucked
  • amateur strip poker video
  • banging petite women
  • pictures women with four breasts
  • ga young kim sexy
  • cherry petite free thumbnails
  • Extreme brasil teens
  • anal sex virgens
  • kinko sex video
  • sexy moms with black men
  • anime fat girl ass
  • Russian girls techno
  • naked very little girls young
  • sweet sex movie
  • super young free pussy
  • family sex sories and videos
  • pussy dolls members
  • girls ass insertion
  • naked pawn girls
  • black tits big huge
  • amateur homemade facials girlfriends real
  • girls los vages xxx
  • marvelous mature sexy matrons
  • Jepang hot sex
  • russian girll fucking guyin the ass
  • video girl play herself
  • sexy teen
  • Hot girls with dildo
  • best japan adult movie
  • asian son massages moms pussy
  • amateur wife sharing videos
  • Sexy football girl
  • pussy lips close up asian
  • homemade teen anal movies
  • orgasm photographs galleries
  • free hot ass milf videos
  • White sexy boobs
  • filthy sex pics
  • sex teen fuck mom slut
  • mardi gras flashing drunk girls
  • sex movies moms
  • mature natural pussy
  • teen nude video
  • free asian hub
  • mimi miyagi ass pictures
  • huge tits amateur movies
  • black fat xxxvideos on raw gonzo
  • bridgewater teen boys sex
  • Hiv from receiving oral sex
  • micro bikini man beach picture
  • son cums in his mommys pussy
  • jennifer anniston naked video
  • first time amature blowjob pictures
  • girls ass line
  • Vintage sex
  • sexy hot mature women over
  • Fucking a white girl
  • high school musical girl in bikini
  • pregnant women naked home movies
  • brunette teen nude video bikini
  • up skirt hot pussy
  • cunnilingus oral sex women
  • naked in nylons free pics
  • black guys fuck white pussy
  • wives that like black ment
  • ebony white dicks tube
  • petite midget sex
  • cum facial free xxx trailers
  • vannesa hudgens completely naked pics
  • ebony sucking big dicks
  • japanese beauty products cosmetics
  • nude wife pics forum
  • white mature black man sex
  • Big juicy vaginas
  • free teen x video
  • unshaven pussy peeing
  • angels around teen photo pics
  • intimate interracial sex
  • young asian video
  • picsof black women in the s
  • free teen creampie orgasm video
  • robert dinero black wife
  • pussy dolls caress
  • sexy ass and hairy pussy
  • erotic models girlfriend
  • rgasm that got pussy muscles stuck
  • Nude indian actress movies
  • Hot chicks naked boobs
  • wwe girl sex
  • teen babe with hairy pussy
  • tube sex pussy cunt wife mum
  • how many girls shave their pussy
  • star lily lixxx
  • wife spy vids
  • montreal sexy girls
  • Flexible girl sex
  • zoe vialet pussy
  • teenage girls scissoring
  • Big beautiful natural breasts
  • thomas blackshears ebony visions the nurturer
  • ebony star illusion
  • young teen nice ass
  • girls young and nude
  • wife make me suck cock
  • teen girls scissors
  • hippy girls naked in public
  • sybian orgasm videos
  • Hottest ass videos
  • teaching movies for couples
  • girl teen appetizers
  • pictures of girls animated
  • streaming young little girl
  • black hispanic dressed video
  • wife sex exciting
  • katie morgan facial best videos
  • Sri lankan sex xxx
  • teen girlfriends on webcam
  • girl eate girls ass out free
  • girls sexy pets s
  • Best indian sex scene
  • ebony girl getting fucked in jamaica
  • petite amateur stars
  • amateur free naked mature video
  • japanese sex toys for men
  • pics round tits
  • husband and wife amature video
  • japanese girl chloroformed
  • sex fuck poker
  • free hot pictures sex fuck
  • Sex with sister pic
  • Maria conchita alonso nude videos
  • free lesbian matures and young
  • nicole parker sex videos
  • hot little cheerleaders pussy
  • big tits show sex demo
  • group sex drawing
  • blonde teen fucking in the ass
  • Teen whore eve nicholson reamed in the asshole
  • free hot blonde milf vid
  • anal sex shower
  • softcore bondage free video
  • hustlercollagegirls petite brunette
  • old saggy lesbian granny pictures
  • free erotic twink bareback movie thumbs
  • Hot girl lesbians
  • alien movie girl with backward knees
  • teen blonde bikini girls
  • fuck hot wifes
  • free full legth teen videos
  • flashing sex tube
  • japan taboo videos streaming
  • anal sex and abdominal pain
  • redtube asain young chicks
  • young nude chinese girls tube
  • sexy black tits
  • The girl next door xxx
  • thin young movies
  • movie shes too young
  • diamond jackson sex videos
  • asian schoolgirls fucked hard
  • lebian pussy photo
  • big woman petite fight
  • erotic wife hot tub
  • pregnant women orgasm video
  • tube videos teens
  • Bad girl fuck
  • Dont cum inside video
  • asian thai
  • shaved hardcore pussy
  • Hilary duff naked pics
  • free brazilian ass movies
  • francais amateur
  • playboy girls of gaming pics
  • teens taking very big dicks
  • petite bathrobe coral peach
  • big tits hairt pussyxxx
  • My first sex teacher mrs starr home tutor
  • picture paradise pics
  • granny young sex vids
  • free nude teen anal pics
  • college party girls have sex
  • fuck nasty xxx free videos
  • Amateur photos nude
  • sgy wifes first threesome story
  • Girls having sex with dildos
  • black pussy babes
  • naked hairy red head girls
  • adult asian sex for free
  • mature saggy pictures
  • handjob pictures free hetero
  • old guy young girl nude
  • glamour herdcore pics
  • skinny tight pussy women
  • tranny facial videos
  • xxx thumbs
  • twistys busty blonde jenna galleries
  • shcool girl
  • fuck from behind videos
  • wet hot virgin pussy
  • my young naked body
  • for women videos
  • good mature sex
  • xxx young woman older man
  • nearly good naked videoes
  • oily naked girls
  • teen fucking hd movie
  • meet maen pussy shot
  • white wife breeding movies
  • stinky pussy tubes
  • lesbian bi erotic stories first time
  • japanese sex crime rates
  • teen videos strip
  • strapon lesbian blonde on blonde
  • ebony lesbians squirting
  • mallu movies sex videos
  • do black guys fuck better
  • pussy outline in a bikini
  • nude teen art video
  • pussy anal fuck hardcore
  • nude best blonde teens
  • girls having gy sex
  • old mature women sex hub
  • amateure vids
  • drunk teen videos of sex
  • that teen can suck a dick
  • get naked on my webcam
  • free voyeur sex pictures
  • cute young looking star
  • hot music video girls
  • teen girls masturbating with dildos movies
  • jordan belfort wife girlfriend
  • rite teen girls
  • hardcore milfs soccer
  • suck butthole video