Open top menu




Example-SceneTransitionAnimation In Android?

activity_main.xml.
............................................................................................................
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:background="@color/colorAccent">

    <ImageView
        android:id="@+id/image"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:scaleType="center"
        android:src="@drawable/log"

        />

</LinearLayout>


............................................................................................................

MainActivity.java
............................................................................................................


import android.annotation.TargetApi;
import android.app.Activity;
import android.app.ActivityOptions;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;

public class MainActivity extends Activity {

    @Override

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final ImageView shared  = (ImageView) findViewById(R.id.image);
        shared.setOnClickListener(new View.OnClickListener() {

           @TargetApi(Build.VERSION_CODES.LOLLIPOP)
            @Override
            public void onClick(View view) {
                ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(MainActivity.this,
                       shared, "");

                Intent intent = new Intent(MainActivity.this, SecondActivity.class);
                startActivity(intent, options.toBundle());

            }

        });

    }
}
 ............................................................................................................

second_activity.xml
............................................................................................................
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin
    android:background="@color/colorPrimaryDark">

    <TextView

        android:layout_width="wrap_content"
       android:layout_height="wrap_content"
        android:text="Android Beginnerpoint tutorial"
        android:id="@+id/textView"
        android:textSize="35dp"
        android:textColor="@android:color/white"/>

    

    <Button

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Button"
        android:id="@+id/button"
        android:transitionName="sharedImage"
        android:layout_below="@+id/textView"
        android:layout_marginTop="54dp" />



</RelativeLayout>
...........................................................................................................

SecondActivity.java
............................................................................................................
import android.annotation.TargetApi;
import android.app.Activity;
import android.app.ActivityOptions;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;


public class SecondActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        final Button btn=(Button) findViewById(R.id.button);
        btn.setOnClickListener(new View.OnClickListener() {

            @TargetApi(Build.VERSION_CODES.LOLLIPOP)
            @Override
            public void onClick(View v) {
                ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(SecondActivity.this,
                       btn, "");

                Intent intent = new Intent(SecondActivity.this, MainActivity.class);
                startActivity(intent, options.toBundle());

            }

        });

    }

}


............................................................................................................





try this cod
Read more


Exaplain- How to Change Color of an Image/icon in android programmatic.


activity_main.xml.
...................................................................................................................................................................

xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   
android:layout_width="match_parent"
   
android:layout_height="wrap_content"
   
android:layout_gravity="center"
   
android:orientation="vertical">

    <
Button
       
android:id="@+id/red"
       
android:layout_width="300dp"
       
android:layout_height="wrap_content"
       
android:layout_gravity="center_horizontal"
       
android:text="Change To Red" />

    <
Button
       
android:id="@+id/blue"
       
android:layout_width="300dp"
       
android:layout_height="wrap_content"
       
android:layout_gravity="center_horizontal"
       
android:text="Change To Blue" />

    <
ImageView
       
android:id="@+id/_icon"
       
android:layout_width="wrap_content"
       
android:layout_height="wrap_content"
       
android:layout_gravity="center_horizontal"
       
android:contentDescription="@null"
       
android:src="@drawable/log" />
</
LinearLayout>

...................................................................................................................................................................


Man_Activity.java
...................................................................................................................................................................
import android.animation.ArgbEvaluator;
import android.animation.ObjectAnimator;
import android.graphics.Color;
import android.graphics.PorterDuff;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {
    private static final int STARTING_COLOR = Color.RED;
    ImageView colorView;
    ObjectAnimator colorAnimator;
    ArgbEvaluator colorEvaluator;

    @Override
   public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        colorView = (ImageView) findViewById(R.id._icon);
        colorView.getDrawable().setColorFilter(STARTING_COLOR, PorterDuff.Mode.MULTIPLY);

        View colorRedButton = findViewById(R.id.red);
        View colorBlueButton = findViewById(R.id.blue);

        colorEvaluator = new ArgbEvaluator();
        colorAnimator = ObjectAnimator.ofObject(colorView, "colorFilter", colorEvaluator,

                0, 0);

        colorRedButton.setOnClickListener(mOnButtonClickListener)
        colorBlueButton.setOnClickListener(mOnButtonClickListener);

    }

    private final View.OnClickListener mOnButtonClickListener = new View.OnClickListener() {

        @Override
        public void onClick(View v) {        

            int currentColor = STARTING_COLOR;
            if (colorAnimator.getAnimatedValue() != null) {

                currentColor = (Integer) colorAnimator.getAnimatedValue();

            }

            switch (v.getId()) {
               case R.id.red:
                    colorAnimator.setObjectValues(currentColor, Color.RED);

                    break;

                case R.id.blue:
                    colorAnimator.setObjectValues(currentColor, Color.BLUE);

                    break;

            }
            colorAnimator.setDuration(2000);
            colorAnimator.start();

        }

    };

}


...................................................................................................................................................................



 try this code...
Read more



In this blog Explain how to Zoom View in android.


activiy_main.xml.

...................................................................................................................................................................
 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout android:layout_width="match_parent"
       android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:padding="16dp">

        <ImageButton
            android:id="@+id/thumb_button_1"
           android:layout_width="100dp"
            android:layout_height="75dp"
            android:layout_marginRight="1dp"
            android:src="@drawable/front"
            android:scaleType="centerCrop"
            android:contentDescription="@string/description_image_1"/>

        <ImageButton
            android:id="@+id/thumb_button_2"
            android:layout_width="100dp"
            android:layout_height="75dp"
            android:layout_marginRight="1dp"
            android:src="@drawable/back"
            android:scaleType="centerCrop"
            android:contentDescription="@string/description_image_1"/>

    </LinearLayout>

    <ImageView
        android:id="@+id/expanded_image"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:visibility="invisible"
        android:contentDescription="@string/description_zoom_touch_close" />

</FrameLayout>
...................................................................................................................................................................



MainActivity.java.
...................................................................................................................................................................

import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.graphics.Point;
import android.graphics.Rect;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.DecelerateInterpolator;
import android.widget.ImageView;



public class MainActivity extends AppCompatActivity {

    private Animator mCurrentAnimator;
    private int mShortAnimationDuration;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //  clicks on the views.
        final View thumb1View = findViewById(R.id.thumb_button_1);
        thumb1View.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {
               zoomImageFromThumb(thumb1View, R.drawable.front);

            }

        });


        final View thumb1View1 = findViewById(R.id.thumb_button_2);
        thumb1View1.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {

                zoomImageFromThumb(thumb1View1, R.drawable.back);

            }

        });


        // Retrieve and cache the system's default "short" animation time.

        mShortAnimationDuration = getResources().getInteger(
                android.R.integer.config_shortAnimTime);

    }

    private void zoomImageFromThumb(final View thumbView, int imageResId) {

        if (mCurrentAnimator != null) {
            mCurrentAnimator.cancel();

        }

        // Load the high-resolution "zoomed-in" image.
        final ImageView expandedImageView = (ImageView) findViewById(
                R.id.expanded_image);

        expandedImageView.setImageResource(imageResId);

        //calculate
        final Rect startBounds = new Rect();
       final Rect finalBounds = new Rect();
        final Point globalOffset = new Point();

        // properties (X, Y).
        thumbView.getGlobalVisibleRect(startBounds);
        findViewById(R.id.container)
               .getGlobalVisibleRect(finalBounds, globalOffset);
        startBounds.offset(-globalOffset.x, -globalOffset.y);
        finalBounds.offset(-globalOffset.x, -globalOffset.y);



        // Adjust the start bounds to be the same aspect ratio as the final
        float startScale;

        if ((float) finalBounds.width() / finalBounds.height()
                > (float) startBounds.width() / startBounds.height()) {

            // Extend start bounds horizontally
            startScale = (float) startBounds.height() / finalBounds.height();
            float startWidth = startScale * finalBounds.width();
            float deltaWidth = (startWidth - startBounds.width()) / 2;
            startBounds.left -= deltaWidth;
            startBounds.right += deltaWidth;

        } else {

            // Extend start bounds vertically
            startScale = (float) startBounds.width() / finalBounds.width();
            float startHeight = startScale * finalBounds.height();
            float deltaHeight = (startHeight - startBounds.height()) / 2;
            startBounds.top -= deltaHeight;
            startBounds.bottom += deltaHeight;

        }

        thumbView.setAlpha(0f);
        expandedImageView.setVisibility(View.VISIBLE);



        // Set the pivot point for SCALE_X and SCALE_Y transformations
        expandedImageView.setPivotX(0f);
        expandedImageView.setPivotY(0f);


        // scale properties (X, Y, SCALE_X, and SCALE_Y).
        AnimatorSet set = new AnimatorSet();
        set
                .play(ObjectAnimator.ofFloat(expandedImageView, View.X,

                        startBounds.left, finalBounds.left))

                .with(ObjectAnimator.ofFloat(expandedImageView, View.Y,

                        startBounds.top, finalBounds.top))

                .with(ObjectAnimator.ofFloat(expandedImageView, View.SCALE_X,

                        startScale, 1f)).with(ObjectAnimator.ofFloat(expandedImageView,

                View.SCALE_Y, startScale, 1f));

        set.setDuration(mShortAnimationDuration);

        set.setInterpolator(new DecelerateInterpolator());

        set.addListener(new AnimatorListenerAdapter() {

            @Override

            public void onAnimationEnd(Animator animation) {

                mCurrentAnimator = null;

            }



            @Override

            public void onAnimationCancel(Animator animation) {

                mCurrentAnimator = null;

            }

        });

        set.start();

        mCurrentAnimator = set;



        // the expanded image.

        final float startScaleFinal = startScale;

        expandedImageView.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View view) {

                if (mCurrentAnimator != null) {

                    mCurrentAnimator.cancel();

                }



                // Animate the four positioning/sizing properties in parallel,

                // back to their original values.

                AnimatorSet set = new AnimatorSet();

                set.play(ObjectAnimator

                        .ofFloat(expandedImageView, View.X, startBounds.left))

                        .with(ObjectAnimator

                                .ofFloat(expandedImageView,

                                        View.Y,startBounds.top))

                        .with(ObjectAnimator

                                .ofFloat(expandedImageView,

                                        View.SCALE_X, startScaleFinal))

                        .with(ObjectAnimator

                                .ofFloat(expandedImageView,

                                        View.SCALE_Y, startScaleFinal));

                set.setDuration(mShortAnimationDuration);

                set.setInterpolator(new DecelerateInterpolator());

                set.addListener(new AnimatorListenerAdapter() {

                    @Override

                    public void onAnimationEnd(Animator animation) {

                        thumbView.setAlpha(1f);

                        expandedImageView.setVisibility(View.GONE);

                        mCurrentAnimator = null;

                    }



                    @Override

                    public void onAnimationCancel(Animator animation) {

                        thumbView.setAlpha(1f);

                        expandedImageView.setVisibility(View.GONE);

                        mCurrentAnimator = null;

                    }

                });

                set.start();

                mCurrentAnimator = set;

            }

        });

    }

}


...................................................................................................................................................................





Read more








Implement  Flip Animation In Android?

Step1. Create anim Folder inside res folder.

Step2.Create file inside anim/from_middle.xml and to_middle.xml folder.

from_middle.xml .
............................................................................................................
xml version="1.0" encoding="utf-8"?>
<scale
    xmlns:android="http://schemas.android.com/apk/res/android"
   android:fromXScale="0.0" 
   android:toXScale="1.0"
   android:pivotX="50%" 
   android:fromYScale="1.0" 
   android:toYScale="1.0"
   android:pivotY="50%"         
   android:duration="250" />
............................................................................................................



to_middle.xml.
............................................................................................................
xml version="1.0" encoding="utf-8"?>
<scale
    xmlns:android="http://schemas.android.com/apk/res/android"
   android:fromXScale="1.0" 
   android:toXScale="0.0"
   android:pivotX="50%" 
   android:fromYScale="1.0" 
   android:toYScale="1.0"
   android:pivotY="50%"        
   android:duration="250" />
............................................................................................................

activity_main.xml.
............................................................................................................
xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center">

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="10dip"
        android:text="Click On Chnage Buton"
        android:textSize="26sp"
        android:textStyle="bold" />

    <ImageView
        android:id="@+id/Img_back_And_front"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:src="@drawable/front" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="10dip"
        android:text="Change"
        />

</LinearLayout>
............................................................................................................


Main_Activity.java.
............................................................................................................
public class MainActivity extends AppCompatActivity implements 
        View.OnClickListener, Animation.AnimationListener {

    private Animation animation_Front;
    private Animation animation_Back;
    private boolean isBackOfCardShowing = true;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        animation_Front = AnimationUtils.loadAnimation(this, R.anim.to_middle);
        animation_Front.setAnimationListener(this);
        animation_Back = AnimationUtils.loadAnimation(this, R.anim.from_middle);
        animation_Back.setAnimationListener(this);
        findViewById(R.id.button1).setOnClickListener(this);

    }



    @Override

    public void onClick(View v) {

        v.setEnabled(false);
        ((ImageView)findViewById(R.id.Img_back_And_front)).clearAnimation();
        ((ImageView)findViewById(R.id.Img_back_And_front)).setAnimation(animation_Front);
        ((ImageView)findViewById(R.id.Img_back_And_front)).startAnimation(animation_Front);

    }





    @Override

    public void onAnimationEnd(Animation animation) {
        if (animation==animation_Front) {
            if (isBackOfCardShowing) {
                ((ImageView)findViewById(R.id.Img_back_And_front)).
                               setImageResource(R.drawable.front);
            } else {
                ((ImageView)findViewById(R.id.Img_back_And_front)).
                              setImageResource(R.drawable.back);
            }

            ((ImageView)findViewById(R.id.Img_back_And_front)).clearAnimation();
            ((ImageView)findViewById(R.id.Img_back_And_front)).setAnimation(animation_Back);
            ((ImageView)findViewById(R.id.Img_back_And_front)).startAnimation(animation_Back);

        } else {
            isBackOfCardShowing=!isBackOfCardShowing;
            findViewById(R.id.button1).setEnabled(true);
        }

    }





    @Override
    public void onAnimationRepeat(Animation animation) {
        // TODO Auto-generated method stub

        }



    @Override
    public void onAnimationStart(Animation animation) {
        // TODO Auto-generated method stub

    }

}
............................................................................................................





try this code...
Read more