Sunday, March 20, 2011

Auto flipping of ViewFlipper

Further work on the last exercise "ViewFlipper", we can start and stop auto flipping of ViewFlipper by calling function startFlipping() and stopFlipping(), on interval set by function setFlipInterval(int milliseconds), and the state of flipping can be read by calling function isFlipping().

Auto flipping of ViewFlipper

Modify the layout, main.xml, to add a button to toggle flipping
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<Button
android:id="@+id/buttonautoflip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Start Auto Flip"/>
<ViewFlipper
android:id="@+id/viewflipper"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="First Screen"/>
<Button
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Flip to second page"/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Second Screen"/>
<Button
android:id="@+id/button2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="Flip back"/>
</LinearLayout>
</ViewFlipper>
</LinearLayout>


main code, AndroidViewFlipper.java
package com.exercise.AndroidViewFlipper;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ViewFlipper;

public class AndroidViewFlipper extends Activity {

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final ViewFlipper MyViewFlipper = (ViewFlipper)findViewById(R.id.viewflipper);
final Button buttonAutoFlip = (Button)findViewById(R.id.buttonautoflip);
//Button button1 = (Button)findViewById(R.id.button1);
//Button button2 = (Button)findViewById(R.id.button2);

MyViewFlipper.setFlipInterval(500);
buttonAutoFlip.setOnClickListener(new Button.OnClickListener(){

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub

if(MyViewFlipper.isFlipping()){
MyViewFlipper.stopFlipping();
buttonAutoFlip.setText("Start Auto Flip");
}else{
MyViewFlipper.startFlipping();
buttonAutoFlip.setText("Stop Auto Flip");
}



}});


}
}


Download the files.

next:
- ViewFlipper Animation



2 comments:

Anonymous said...

Just want to say what a great blog you got here!

Bart Houkes said...

Thanks, you make my day! The demo is working immediately
:-)