Android ViewSwitcher

Android ViewSwitcher

ViewSwitcher is a sub-class of ViewAnimator, switches between two views, and has a factory from which these views are created. You can either use the factory to create the views, or add them yourself.

A ViewSwitcher can only have two child views, of which only one is shown at a time. If you have more than two child views in ViewSwitch, java.lang.IllegalStateException of “Can’t add more than 2 views to a ViewSwitcher” will happen.


In this example i will demonstrate you how to work on ViewSwitcher.


Let’s get start by creating a project in Eclipse IDE.

1. Create a new project in Eclipse by navigating to File ⇒ New Android ⇒ Application Project and fill required details. (I kept my main activity name as

2.  Create a layout file for under res ⇒ layout folder. I named the layout file as activity_main.xml. In this layout i had taken ViewSwitcher and inside it i had taken two views one ImageView and other one is Button.

3. Now, add the following code to , in this activity i am going to show how to show both views in single layout.

4. Finally, run the app and you will get the output as shown in video.

Thanks. :)

Download Source Code


About the author

I am an Android developer for whom Android is the one and only love. I work as a freelancer which gets me and Android closer. I always love to share my learnings and love to learn from others knowledge too.


Thank you for the tutorial, if i wont add the fragments non in main activity but in another, (help activity), where i must put the code ? all the tutorial the i have seen is in the main activity, i try to write the code in another activity but not work i have erro, can you help me ? thank you very much, Paolo

Leave a Comment

Comment (required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Name (required)
Email (required)