Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use view flipper with three layouts?

I am currently using ViewFlipper for my main activity with two different layouts. I want to use a third layout, but I can only find the showNext() and showPrevious() commands. Can someone show me how to implement a third layout using ViewFlipper?

like image 337
user861040 Avatar asked Jul 29 '11 05:07

user861040


1 Answers

Made an example for you that shows howto display different views in a ViewFlipper.

The layout of the example is made up of the following parts. There are three radio buttons. A ViewFlipper is placed below the radio buttons. This flipper holds three different simple views with different texts.

The radio buttons are then hooked up to a listener in the java code that will change the view displayed by the ViewFlipper depending on which radio button that currently is chosen.

XML

<?xml version="1.0" encoding="utf-8"?>  <LinearLayout android:id="@+id/LinearLayout01"     android:layout_width="fill_parent"     android:layout_height="fill_parent"     xmlns:android="http://schemas.android.com/apk/res/android"     android:orientation="vertical">      <RadioGroup android:id="@+id/radioGroup1"         android:layout_width="wrap_content"         android:layout_height="wrap_content">         <RadioButton android:layout_height="wrap_content"             android:id="@+id/radio0" android:layout_width="wrap_content"             android:text="Show View 1" android:checked="true"></RadioButton>         <RadioButton android:layout_height="wrap_content"             android:id="@+id/radio1" android:layout_width="wrap_content"             android:text="Show view 2"></RadioButton>         <RadioButton android:layout_height="wrap_content"             android:id="@+id/radio2" android:layout_width="wrap_content"             android:text="Show View 3"></RadioButton>     </RadioGroup>      <ViewFlipper android:id="@+id/ViewFlipper01"         android:layout_width="wrap_content"         android:layout_height="wrap_content">         <!--adding views to ViewFlipper-->         <TextView android:id="@+id/TextView01"             android:layout_width="wrap_content"             android:layout_height="wrap_content"             android:text="First view is now displayed"></TextView>         <TextView android:id="@+id/TextView02"             android:layout_width="wrap_content"             android:layout_height="wrap_content"             android:text="Second view is now displayed"></TextView>         <TextView android:id="@+id/TextView03"             android:layout_width="wrap_content"             android:layout_height="wrap_content"             android:text="Third view is now displayed"></TextView>     </ViewFlipper>  </LinearLayout> 

JAVA

package com.test.threeviews;  import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.RadioButton; import android.widget.ViewFlipper;  public class ThreeViewsinaFlipperActivity extends Activity {      RadioButton RB0;     RadioButton RB1;     RadioButton RB2;     ViewFlipper VF;      /** Called when the activity is first created. */     @Override     public void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.main);          /*          * Find the views declared in main.xml.          */         RB0 = (RadioButton) findViewById(R.id.radio0);         RB1 = (RadioButton) findViewById(R.id.radio1);         RB2 = (RadioButton) findViewById(R.id.radio2);         VF = (ViewFlipper) findViewById(R.id.ViewFlipper01);          /*          * Set a listener that will listen for clicks on the radio buttons and          * perform suitable actions.          */         RB0.setOnClickListener(radio_listener);         RB1.setOnClickListener(radio_listener);         RB2.setOnClickListener(radio_listener);     }      /*      * Define a OnClickListener that will change which view that is displayed by      * the ViewFlipper      */     private OnClickListener radio_listener = new OnClickListener() {         public void onClick(View v) {             switch (v.getId()) {             case R.id.radio0:                 VF.setDisplayedChild(0);                 break;             case R.id.radio1:                 VF.setDisplayedChild(1);                 break;             case R.id.radio2:                 VF.setDisplayedChild(2);                 break;             }         }     }; } 
like image 121
HenrikS Avatar answered Sep 21 '22 15:09

HenrikS