其他分享
首页 > 其他分享> > Activity切换效果,阿里P8大牛手把手教你

Activity切换效果,阿里P8大牛手把手教你

作者:互联网

代码实现

====

设置方法

场景:Activity a 跳转到 Activity b


Intent intent = new Intent (this,Acvtivity.class);

startActivity(intent);

overridePendingTransition(R.anim.enter_anim,R.anim.exit_anim);

// 采用overridePendingTransition(int enterAnim, int exitAnim)进行设置

// enterAnim:从Activity a跳转到Activity b,进入b时的动画效果资源ID,这个动画由 b 来展示

// exitAnim:从Activity a跳转到Activity b,离开a时的动画效果资源Id ,这个动画由 a 来展示



// 特别注意

// overridePendingTransition()必须要在startActivity(intent)后被调用才能生效 


@Override

public void finish(){

    super.finish();

    

    overridePendingTransition(R.anim.enter_anim,R.anim.exit_anim);

// 采用overridePendingTransition(int enterAnim, int exitAnim)进行设置

// enterAnim:从Activity b返回到Activity a,进入a时的动画效果资源ID ,这个动画由 a 来展示

// exitAnim:从Activity b返回到Activity a,离开b时的动画效果资源Id ,这个动画由 b 来展示



// 特别注意

// overridePendingTransition()必须要在finish()后被调用才能生效



}

利用系统默认动画设置

对于参数 enterAnimexitAnim 的资源ID,系统有自带的效果android.R.anim.xxx,如下设置:

对应启动时设置


package com.wust.myanimation;



import androidx.appcompat.app.AppCompatActivity;



import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.view.ViewAnimationUtils;

import android.view.animation.AlphaAnimation;

import android.view.animation.Animation;

import android.view.animation.AnimationSet;

import android.view.animation.AnimationUtils;

import android.view.animation.BounceInterpolator;

import android.view.animation.RotateAnimation;

import android.view.animation.ScaleAnimation;

import android.view.animation.TranslateAnimation;

import android.widget.TextView;



public class MainActivity extends AppCompatActivity {



    private TextView tv_hello_world;



    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

    }



    public void tiaozhuan(View view) {

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

        startActivity(intent);

        //淡入 淡出 的动画效果

//        overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);

        //从左向右 的滑动效果

        overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right);

    }



} 

对应退出时设置


package com.wust.myanimation;



import android.os.Bundle;



import androidx.annotation.Nullable;

import androidx.appcompat.app.AppCompatActivity;



/**

 * ClassName: SecondActivity <br/>

 * Description: <br/>

 * date: 2021/7/18 12:43<br/>

 *

 * @author yiqi<br />

 * @QQ 1820762465

 * @微信 yiqiideallife

 * @技术交流QQ群 928023749

 */

public class SecondActivity extends AppCompatActivity {

    @Override

    protected void onCreate(@Nullable Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_second);

    }



    @Override

    public void finish() {

        super.finish();

        //淡入 淡出 的动画效果

        overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);

        //从左向右 的滑动效果

//        overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right);

    }

} 

效果展示

利用自定义动画设置

第一步:在 res/anim/ 文件夹下分别创建 enter.xml 和 exit.xml 文件


// enter.xml



<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android" android:duration="1500">

    <scale android:pivotX="0%p"

        android:pivotY="0%p"

        android:fromXScale="0%p"

        android:toXScale="100%p"

        android:fromYScale="0%p"

        android:toYScale="100%p"/>

</set>

//exit.xml

结尾

最后小编想说:不论以后选择什么方向发展,目前重要的是把Android方面的技术学好,毕竟其实对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!

当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。

想要拿高薪实现技术提升薪水得到质的飞跃。最快捷的方式,就是有人可以带着你一起分析,这样学习起来最为高效,所以为了大家能够顺利进阶中高级、架构师,我特地为大家准备了一套高手学习的源码和框架视频等精品Android架构师教程,保证你学了以后保证薪资上升一个台阶。

CodeChina开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》

当你有了学习线路,学习哪些内容,也知道以后的路怎么走了,理论看多了总要实践的。

高级UI,自定义View

UI这块知识是现今使用者最多的。当年火爆一时的Android入门培训,学会这小块知识就能随便找到不错的工作了。

不过很显然现在远远不够了,拒绝无休止的CV,亲自去项目实战,读源码,研究原理吧!

题+项目实战源码》](https://codechina.csdn.net/m0_60958482/android_p7)**

当你有了学习线路,学习哪些内容,也知道以后的路怎么走了,理论看多了总要实践的。

[外链图片转存中…(img-7KqljLn6-1630720227238)]

高级UI,自定义View

UI这块知识是现今使用者最多的。当年火爆一时的Android入门培训,学会这小块知识就能随便找到不错的工作了。

不过很显然现在远远不够了,拒绝无休止的CV,亲自去项目实战,读源码,研究原理吧!

[外链图片转存中…(img-dH8Rcbaz-1630720227240)]

标签:动画,anim,手把手,P8,Activity,import,android,view
来源: https://blog.csdn.net/m0_61042126/article/details/120095479