我是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动画打开.我可以在上面的代码中制作动画.
提前致谢.
只需将此行添加到您的调用意图:
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)
希望它会有所帮助.
这是淡入淡出动画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)
| 归档时间: |
|
| 查看次数: |
9586 次 |
| 最近记录: |