Sunday, 15 September 2013

Graphics View & Animation Program

//main activity

package com.demo;

import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.Path.Direction;
import android.os.Bundle;
import android.view.View;
import android.view.animation.AccelerateDecelerateInterpolator;
import android.view.animation.Animation;
import android.view.animation.RotateAnimation;

public class Graphicsact extends Activity
{
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(new GraphicsView(this));
    }

    static public class GraphicsView extends View
    {
        private static final String QUOTE="Now is the time Drop the world"+"good men to come to the aid of their country";

        private final Path circle;
        private final Paint cpaint;
        private final Paint tpaint;
        private Animation anim;
      
        public GraphicsView(Context context)
        {
            super(context);
            circle = new Path();
            circle.addCircle(150,150,100,Direction.CW);
            cpaint = new Paint(Paint.ANTI_ALIAS_FLAG);
            cpaint.setStyle(Paint.Style.STROKE);
            cpaint.setColor(Color.GRAY);
            cpaint.setStrokeWidth(3);
          
            tpaint = new Paint(Paint.ANTI_ALIAS_FLAG);
            tpaint.setStyle(Paint.Style.FILL_AND_STROKE);
            tpaint.setColor(Color.BLACK);
            tpaint.setTextSize(20f);
            setBackgroundResource(R.drawable.ppp);  //ppp is an image stored in drawable
        }
      
        protected void onDraw(Canvas canvas)
        {
            super.onDraw(canvas);
          
            if(anim==null)
            {
                createAnim(canvas);
            }
            canvas.drawPath(circle,cpaint);
            canvas.drawTextOnPath(QUOTE,circle,20,0,tpaint);
        }
      
        private void createAnim(Canvas canvas)
        {
            anim = new RotateAnimation(0,360,canvas.getWidth()/2,canvas.getHeight()/2);
            anim.setRepeatMode(Animation.REVERSE);
            anim.setRepeatCount(Animation.INFINITE);
            anim.setDuration(10000L);
            anim.setInterpolator(new AccelerateDecelerateInterpolator());
          
            startAnimation(anim);
        }
    }
}

//main.xml fileCoding
<?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"
    />
</LinearLayout>


//manifest file Coding
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.demo"
      android:versionCode="1"
      android:versionName="1.0">


    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".Graphicsact"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
</manifest>

No comments:

Post a Comment