Android

Coding in Flow (codinginflow.com)

 

 

  1. Slide Animation Between Activites
  2. Press Back Again to Exit
  3. Swipe Close Activity with Slidr Library
  4. AndroidViewAnimations
  5. Easily Create Animations with the AndroidViewAnimation Library
  6. Drawable Animations

 

https://codinginflow.com/

 


 

1. Slide Animation Between Activites

 

https://codinginflow.com/tutorials/android/slide-animation-between-activities

 

# Slide Animation Between Activites – Android Studio Tutorial (youtube.com)
https://www.youtube.com/watch?v=0s6x3Sn4eYo

 

 

# slide_in_left.xml

<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:duration="@android:integer/config_mediumAnimTime"
        android:fromXDelta="-100%p"
        android:toXDelta="0" />
</set>

 

 

# slide_in_right.xml

<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:duration="@android:integer/config_mediumAnimTime"
        android:fromXDelta="100%p"
        android:toXDelta="0" />
</set>

 

# slide_out_left.xml

<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:duration="@android:integer/config_mediumAnimTime"
        android:fromXDelta="0"
        android:toXDelta="-100%p" />
</set>

 

# slide_out_right.xml

<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:duration="@android:integer/config_mediumAnimTime"
        android:fromXDelta="0"
        android:toXDelta="100%p" />
</set>

 

 

# MainActivity.java

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    public void openActivity2(View view) {
        Intent intent = new Intent(this, MainActivity2.class);
        startActivity(intent);
        overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
    }
}

 

# activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="This is Activity 1"
        android:textSize="30sp" />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="openActivity2"
        android:text="Open Activity 2" />
</LinearLayout>

 

# MainActivity2.java

public class MainActivity2 extends AppCompatActivity {

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

    public void openActivity3(View view) {
        Intent intent = new Intent(this, MainActivity3.class);
        startActivity(intent);
    }
    @Override
    public void finish() {
        super.finish();
        overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_right);
    }
}

 

 

# activity_main2.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="This is Activity 2"
        android:textSize="30sp" />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="openActivity3"
        android:text="Open Activity 3" />
</LinearLayout>

 

 

# MainActivity3.java

public class MainActivity3 extends AppCompatActivity {

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

 

 

# activity_main3.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="This is Activity 3"
        android:textSize="30sp" />
</LinearLayout>

 

# styles.xml

<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:windowAnimationStyle">@style/CustomActivityAnimation</item>
</style>
<style name="CustomActivityAnimation" parent="@android:style/Animation.Activity">
    <item name="android:activityOpenEnterAnimation">@anim/slide_in_right</item>
    <item name="android:activityOpenExitAnimation">@anim/slide_out_left</item>
    <item name="android:activityCloseEnterAnimation">@anim/slide_in_left</item>
    <item name="android:activityCloseExitAnimation">@anim/slide_out_right</item>
</style>
</resources>

 

 

 

 

 


2. Press Back Again to Exit

 

https://codinginflow.com/tutorials/android/press-back-again-to-exit

 

# Press Back Again to Exit
https://www.youtube.com/watch?v=1Nmy88n7CZ8

 

 

public class MainActivity extends AppCompatActivity {
    private long backPressedTime;
    private Toast backToast;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    @Override
    public void onBackPressed() {
        if (backPressedTime + 2000 > System.currentTimeMillis()) {
            backToast.cancel();
            super.onBackPressed();
            return;
        } else {
            backToast = Toast.makeText(getBaseContext(), "Press back again to exit", Toast.LENGTH_SHORT);
            backToast.show();
        }
        backPressedTime = System.currentTimeMillis();
    }
}

 

 


 

3. Swipe Close Activity with Slidr Library

 


https://github.com/r0adkll/Slidr

 

https://codinginflow.com/tutorials/android/slidr

 

# Swipe Close Activity with Slidr Library – Android Studio Tutorial
https://www.youtube.com/watch?v=Ci5146VOyg4

 


 

4. Easily Create Animations with the AndroidViewAnimation Library

 

 

 

 

https://github.com/daimajia/AndroidViewAnimations

 

https://codinginflow.com/tutorials/android/androidviewanimations

 

# Easily Create Animations with the AndroidViewAnimation Library – Android Studio Tutorial
https://www.youtube.com/watch?v=otMSB-dFuY8

 


 

Drawable Animations

 

Drawable Animations (youtube.com)
https://www.youtube.com/watch?v=scZYIAZrMWk

https://codinginflow.com/tutorials/android/drawable-animations

 

 

# drawable/animation.xml

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:drawable="@drawable/ic_signal_1"
        android:duration="400" />
    <item
        android:drawable="@drawable/ic_signal_2"
        android:duration="400" />
    <item
        android:drawable="@drawable/ic_signal_3"
        android:duration="400" />
    <item
        android:drawable="@drawable/ic_signal_4"
        android:duration="400" />
    <item
        android:drawable="@drawable/ic_signal_5"
        android:duration="400" />
</animation-list>

 

# activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.application.animationexample.MainActivity">
    <ImageView
        android:id="@+id/image"
        android:layout_width="250dp"
        android:layout_height="250dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>

 

# MainActivity.java

public class MainActivity extends AppCompatActivity {
    AnimationDrawable wifiAnimation;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ImageView imageView = (ImageView) findViewById(R.id.image);
        imageView.setBackgroundResource(R.drawable.animation);
        wifiAnimation = (AnimationDrawable) imageView.getBackground();
    }
    @Override
    public void onWindowFocusChanged(boolean hasFocus) {
        super.onWindowFocusChanged(hasFocus);
        wifiAnimation.start();
    }
}

 

 

 

 

 

 

 

Related posts

Leave a Comment