Saturday, September 8, 2012

Rotating Button Development in Android


This example shows how Control and animate Buttons in android.
Algorithm:
1.) Create a new project by File-> New -> Android Project name it RotatingButtonExample.
2.) Write following into main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:orientation="vertical"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:id="@+id/container"
   android:splitMotionEvents="true"
   >



    <LinearLayout
       android:orientation="horizontal"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_marginTop="20dip"
       android:splitMotionEvents="true"
       >
        <TextView
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:paddingLeft="5dip"
           android:paddingRight="5dip"
           android:textStyle="bold"
           android:text="TX"
           />
        <SeekBar
           android:orientation="horizontal"
           android:layout_weight="1"
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:id="@+id/translationX"
       />
        <TextView
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:paddingLeft="15dip"
           android:paddingRight="5dip"
           android:textStyle="bold"
           android:text="TY"
           />
        <SeekBar
           android:orientation="horizontal"
           android:layout_weight="1"
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:id="@+id/translationY"
       />
    </LinearLayout>
    <LinearLayout
       android:orientation="horizontal"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_marginTop="20dip"
       android:splitMotionEvents="true"
       >
        <TextView
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:paddingLeft="5dip"
           android:paddingRight="5dip"
           android:textStyle="bold"
           android:text="SX"
           />
        <SeekBar
           android:orientation="horizontal"
           android:layout_weight="1"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:id="@+id/scaleX"
       />
        <TextView
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:paddingLeft="15dip"
           android:paddingRight="5dip"
           android:textStyle="bold"
           android:text="SY"
           />
        <SeekBar
           android:orientation="horizontal"
           android:layout_weight="1"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:id="@+id/scaleY"
       />
    </LinearLayout>
    <LinearLayout
       android:orientation="horizontal"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_marginTop="20dip"
       android:splitMotionEvents="true"
       >
        <TextView
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:paddingLeft="5dip"
           android:paddingRight="5dip"
           android:textStyle="bold"
           android:text="X"
           />
        <SeekBar
           android:orientation="horizontal"
           android:layout_weight="1"
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:id="@+id/rotationX"
       />
        <TextView
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:paddingLeft="15dip"
           android:paddingRight="5dip"
           android:textStyle="bold"
           android:text="Y"
           />
        <SeekBar
           android:orientation="horizontal"
           android:layout_weight="1"
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:id="@+id/rotationY"
       />
        <TextView
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:paddingLeft="15dip"
           android:paddingRight="5dip"
           android:textStyle="bold"
           android:text="Z"
           />
        <SeekBar
           android:orientation="horizontal"
           android:layout_weight="1"
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:id="@+id/rotationZ"
       />
    </LinearLayout>
    <Button
       android:layout_width="200dip"
       android:layout_height="150dip"
       android:layout_marginLeft="50dip"
       android:layout_marginTop="50dip"
       android:text="Click Me"
       android:id="@+id/rotatingButton"
       />
</LinearLayout>
3.) Run for output.
Steps:
1.) Create a project named RotatingButtonExample and set the information as stated in the image.
Build Target: Android 4.0
Application Name: RotatingButtonExample
Package Name: com. example. RotatingButtonExample
Activity Name: RotatingButtonExample
Min SDK Version: 14
2.) Open RotatingButtonExample.java file and write following code there:
package com.example.RotatingButtonsExample;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.SeekBar;
public class RotatingButtonsExample extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        final Button rotatingButton = (Button) findViewById(R.id.rotatingButton);
        SeekBar seekBar;
        seekBar = (SeekBar) findViewById(R.id.translationX);
        seekBar.setMax(400);
        seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){
            public void onStopTrackingTouch(SeekBar seekBar) {
            }
            public void onStartTrackingTouch(SeekBar seekBar) {
            }
            public void onProgressChanged(SeekBar seekBar, int progress,
                    boolean fromUser) {
                rotatingButton.setTranslationX((float)progress);
            }
        });
        seekBar = (SeekBar) findViewById(R.id.translationY);
        seekBar.setMax(800);
        seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){
            public void onStopTrackingTouch(SeekBar seekBar) {
            }
            public void onStartTrackingTouch(SeekBar seekBar) {
            }
            public void onProgressChanged(SeekBar seekBar, int progress,
                    boolean fromUser) {
                rotatingButton.setTranslationY((float)progress);
            }
        });
        seekBar = (SeekBar) findViewById(R.id.scaleX);
        seekBar.setMax(50);
        seekBar.setProgress(10);
        seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){
            public void onStopTrackingTouch(SeekBar seekBar) {
            }
            public void onStartTrackingTouch(SeekBar seekBar) {
            }
            public void onProgressChanged(SeekBar seekBar, int progress,
                    boolean fromUser) {
                rotatingButton.setScaleX((float)progress/10f);
            }
        });
        seekBar = (SeekBar) findViewById(R.id.scaleY);
        seekBar.setMax(50);
        seekBar.setProgress(10);
        seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){
            public void onStopTrackingTouch(SeekBar seekBar) {
            }
            public void onStartTrackingTouch(SeekBar seekBar) {
            }
            public void onProgressChanged(SeekBar seekBar, int progress,
                    boolean fromUser) {
                rotatingButton.setScaleY((float)progress/10f);
            }
        });
        seekBar = (SeekBar) findViewById(R.id.rotationX);
        seekBar.setMax(360);
        seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){
            public void onStopTrackingTouch(SeekBar seekBar) {
            }
            public void onStartTrackingTouch(SeekBar seekBar) {
            }
            public void onProgressChanged(SeekBar seekBar, int progress,
                    boolean fromUser) {
                rotatingButton.setRotationX((float)progress);
            }
        });
        seekBar = (SeekBar) findViewById(R.id.rotationY);
        seekBar.setMax(360);
        seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){
            public void onStopTrackingTouch(SeekBar seekBar) {
            }
            public void onStartTrackingTouch(SeekBar seekBar) {
            }
            public void onProgressChanged(SeekBar seekBar, int progress,
                    boolean fromUser) {
                rotatingButton.setRotationY((float)progress);
            }
        });
        seekBar = (SeekBar) findViewById(R.id.rotationZ);
        seekBar.setMax(360);
        seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){
            public void onStopTrackingTouch(SeekBar seekBar) {
            }
            public void onStartTrackingTouch(SeekBar seekBar) {
            }
            public void onProgressChanged(SeekBar seekBar, int progress,
                    boolean fromUser) {
                rotatingButton.setRotation((float)progress);
            }
        });
    }
}
3.) Compile and build the project.
Output

No comments:

Post a Comment