zoukankan      html  css  js  c++  java
  • Android-Activity跳转时动画

    Activity跳转时动画,是在跳转Activity,或者在Activity结束返回 等,用到的进入效果;

    第一种效果展示:

    第一个Activity的代码:

    package liudeli.activity.activity_anim;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    
    import liudeli.activity.R;
    
    public class MyActivity01 extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_my01);
        }
    
        /**
         * 启动另外一个Activity
         * @param view
         */
        public void startNewActivity(View view) {
            startActivity(new Intent(this, MyActivity02.class));
            /**
             * 参数一:新的Activity MyActivity02 进入时的动画...
             * 参数二:当前自己的Activity 动起来的动画
             */
            overridePendingTransition(R.anim.activity_open,0);
        }
    }
    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="启动另外一个Activity"
            android:onClick="startNewActivity"
            />
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="第一个Activity"
            android:layout_centerInParent="true"
            android:textSize="22dp"
            />
    
    </RelativeLayout>

    第二个Activity代码:

    package liudeli.activity.activity_anim;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    
    import liudeli.activity.R;
    
    public class MyActivity02 extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_my02);
        }
    
        /**
         * 结束自己
         * @param view
         */
        public void exitThisActivity(View view) {
            finish();
        }
    
        @Override
        public void finish() {
            super.finish();
    
            /**
             * 参数一:新的Activity MyActivity02 进入时的动画...
             * 参数二:当前自己的Activity 动起来的动画
             */
            overridePendingTransition(R.anim.activity_open, R.anim.activity_close);
        }
    }
    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#00f000">
    
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="结束自己"
            android:onClick="exitThisActivity"
            />
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="第二个Activity"
            android:layout_centerInParent="true"
            android:textSize="22dp"
            />
    
    </RelativeLayout>

    R.anim.activity_open.xml

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android">
        <translate
            android:fromXDelta="-100%p"
            android:toXDelta="0"
            android:duration="1500"
            />
    </set>

    R.anim.activity_close.xml

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android">
        <translate
            android:fromXDelta="0"
            android:toXDelta="100%p"
            android:duration="1500"
            />
    </set>

    第二种效果展示:

    第一个Activity代码:

    package liudeli.activity.activity_anim;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    
    import liudeli.activity.R;
    
    public class MyActivity01 extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_my01);
        }
    
        /**
         * 启动另外一个Activity
         * @param view
         */
        public void startNewActivity(View view) {
            startActivity(new Intent(this, MyActivity02.class));
            /**
             * 参数一:新的Activity MyActivity02 进入时的动画...
             * 参数二:当前自己的Activity 动起来的动画
             */
            overridePendingTransition(R.anim.activity_open02,R.anim.activity_close02);
        }
    }

    第二个Activity代码:

    package liudeli.activity.activity_anim;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    
    import liudeli.activity.R;
    
    public class MyActivity02 extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_my02);
        }
    
        /**
         * 结束自己
         * @param view
         */
        public void exitThisActivity(View view) {
            finish();
        }
    
        @Override
        public void finish() {
            super.finish();
    
            /**
             * 参数一:新的Activity MyActivity02 进入时的动画...
             * 参数二:当前自己的Activity 动起来的动画
             */
            overridePendingTransition(R.anim.activity_open02, R.anim.activity_close02);
        }
    }

    R.anim.activity_open02.xml

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android">
    
        <translate android:fromYDelta="-100%p"
                   android:toYDelta="0"
                   android:duration="2500"
            />
    </set>

    R.anim.activity_close02.xml

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android">
    
        <translate android:fromYDelta="0"
                   android:toYDelta="100%p"
                   android:duration="2500"
            />
    </set>

    第三种效果展示:

    第一个Activity的代码:

    package liudeli.activity.activity_anim;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    
    import liudeli.activity.R;
    
    public class MyActivity01 extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_my01);
        }
    
        /**
         * 启动另外一个Activity
         * @param view
         */
        public void startNewActivity(View view) {
            startActivity(new Intent(this, MyActivity02.class));
            /**
             * 参数一:新的Activity MyActivity02 进入时的动画...
             * 参数二:当前自己的Activity 动起来的动画
             */
            overridePendingTransition(R.anim.activity_open02, 0);
        }
    }

    第二个Activity的代码:

    package liudeli.activity.activity_anim;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    
    import liudeli.activity.R;
    
    public class MyActivity02 extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_my02);
        }
    
        /**
         * 结束自己
         * @param view
         */
        public void exitThisActivity(View view) {
            finish();
        }
    
        @Override
        public void finish() {
            super.finish();
    
            /**
             * 参数一:新的Activity MyActivity02 进入时的动画...
             * 参数二:当前自己的Activity 动起来的动画
             */
            overridePendingTransition(R.anim.activity_open03, 0);
        }
    }

    R.anim.activity_open02.xml

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android">
    
        <translate android:fromYDelta="-100%p"
                   android:toYDelta="0"
                   android:duration="2500"
            />
    
    </set>

    R.anim.activity_open03.xml

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android">
    
        <translate android:fromYDelta="100%p"
                   android:toYDelta="0"
                   android:duration="2500"
            />
    
    </set>

    第四种效果展示:

    第一个Activity的代码:

    package liudeli.activity.activity_anim;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    
    import liudeli.activity.R;
    
    public class MyActivity01 extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_my01);
        }
    
        /**
         * 启动另外一个Activity
         * @param view
         */
        public void startNewActivity(View view) {
            startActivity(new Intent(this, MyActivity02.class));
            /**
             * 参数一:新的Activity MyActivity02 进入时的动画...
             * 参数二:当前自己的Activity 动起来的动画
             */
            overridePendingTransition(R.anim.activity_open_anim, 0);
        }
    }

    第二个Activity的代码:

    package liudeli.activity.activity_anim;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    
    import liudeli.activity.R;
    
    public class MyActivity02 extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_my02);
        }
    
        /**
         * 结束自己
         * @param view
         */
        public void exitThisActivity(View view) {
            finish();
        }
    
        @Override
        public void finish() {
            super.finish();
    
            /**
             * 参数一:新的Activity MyActivity02 进入时的动画...
             * 参数二:当前自己的Activity 动起来的动画
             */
            overridePendingTransition(R.anim.activity_open_anim, 0);
        }
    }

    R.anim.activity_open_anim.xml

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android">
    
        <alpha android:fromAlpha="0"
               android:toAlpha="1"
               android:duration="3600"/>
    
    </set>

    第五种效果展示:

    第一个Activity代码:

    package liudeli.activity.activity_anim;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    
    import liudeli.activity.R;
    
    public class MyActivity01 extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_my01);
        }
    
        /**
         * 启动另外一个Activity
         * @param view
         */
        public void startNewActivity(View view) {
            startActivity(new Intent(this, MyActivity02.class));
            /**
             * 参数一:新的Activity MyActivity02 进入时的动画...
             * 参数二:当前自己的Activity 动起来的动画
             */
            overridePendingTransition(R.anim.activity_open_anim02, R.anim.activity_close_anim02);
        }
    }

    第二个Activity代码:

    package liudeli.activity.activity_anim;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    
    import liudeli.activity.R;
    
    public class MyActivity02 extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_my02);
        }
    
        /**
         * 结束自己
         * @param view
         */
        public void exitThisActivity(View view) {
            finish();
        }
    
        @Override
        public void finish() {
            super.finish();
    
            /**
             * 参数一:新的Activity MyActivity02 进入时的动画...
             * 参数二:当前自己的Activity 动起来的动画
             */
            overridePendingTransition(R.anim.activity_open_anim02, R.anim.activity_close_anim02);
        }
    }
    R.anim.activity_open_anim02
    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android">
    
        <rotate android:fromDegrees="180"
                android:toDegrees="0"
                android:duration="2000"
            />
    
    </set>
    R.anim.activity_close_anim02
    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android">
    
        <rotate android:fromDegrees="0"
                android:toDegrees="-180"
                android:duration="2000"
            />
    
    </set>
  • 相关阅读:
    巧妙设备MTU的大小,轻松提网速
    BackTrack5 (BT5)无线password破解教程之WPA/WPA2-PSK型无线password破解
    给程序猿简历的一些建议
    servlet的抽取
    BeanUtils工具类
    保存密码操作
    The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
    java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
    Wed Nov 01 13:03:16 CST 2017 WARN: Establishing SSL connection without server's identity verification is not recommended.
    修改web项目的启动页
  • 原文地址:https://www.cnblogs.com/android-deli/p/10173791.html
Copyright © 2011-2022 走看看