淡入动画的动画

sre*_*dev 2 animation android

我是Android新手.当我打开一个新活动时,我需要为开场活动创建一个淡入淡出的动画.例如:目前我在活动"A",现在我想在按钮点击上打开另一个活动"B".现在我可以打开没有任何动画的活动.但我想给一个Fade In动画.现在,以下代码用于打开活动.

Intent profileActivity = new Intent(Login.this, Profile.class);
startActivityForResult(profileActivity, 0);
Run Code Online (Sandbox Code Playgroud)

这里的"profileActivity"应该以Fade In动画打开.我可以在上面的代码中制作动画.

提前致谢.

mou*_*jib 7

只需将此行添加到您的调用意图:

overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left);
Run Code Online (Sandbox Code Playgroud)

它看起来像那样:

Intent intent = new Intent(ActivityA.this, ActivityB.class);
        startActivity(intent);
        overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left);
Run Code Online (Sandbox Code Playgroud)

然后在"res"文件夹下创建一个"anim"文件夹并添加这两个xml文件

slide_in_left.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
     android:duration="@android:integer/config_mediumAnimTime"
    android:fromXDelta="100%"
    android:toXDelta="0%" />
Run Code Online (Sandbox Code Playgroud)

slide_out_left.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
     android:duration="@android:integer/config_mediumAnimTime"
    android:fromXDelta="0"
    android:toXDelta="-100%" />
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我只是在做一个翻译动画,如果你想添加一个淡入淡出的效果

android:fromAlpha="0.0" android:toAlpha="1.0"
Run Code Online (Sandbox Code Playgroud)

希望它会有所帮助.


Dyn*_*ind 7

这是淡入淡出动画R.anim.fade的代码

 <alpha xmlns:android="http://schemas.android.com/apk/res/android"
           android:interpolator="@android:anim/accelerate_interpolator"
           android:fromAlpha="0.0" android:toAlpha="1.0"
           android:duration="@android:integer/config_longAnimTime" />
Run Code Online (Sandbox Code Playgroud)