当我从一个活动移动到另一个活动时,我想从左到右实现滑动效果.为此,我使用以下代码,但我没有得到任何结果.请指正.
在java这两个文件中:
super.onCreate(savedInstanceState);
overridePendingTransition(R.anim.fadein, R.anim.fadeout);
setContentView(R.layout.main);
Run Code Online (Sandbox Code Playgroud)
res/anim目录中的两个文件:
fadein.xml
<?xml version="1.0" encoding="utf-8"?>
<alpha
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="5000"
android:fromAlpha="0.0"
android:interpolator="@android:anim/slide_out_right"
android:toAlpha="1.0" >
</alpha>
Run Code Online (Sandbox Code Playgroud)
fadeout.xml
<?xml version="1.0" encoding="utf-8"?>
<alpha
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="5000"
android:fromAlpha="0.0"
android:interpolator="@android:anim/slide_in_left"
android:toAlpha="1.0" >
</alpha>
Run Code Online (Sandbox Code Playgroud) 使用以下代码可以使用动画更改活动:
Bundle animation = ActivityOptions.makeCustomAnimation(App.getContext(), R.anim.enter_from_right, R.anim.exit_to_left).toBundle();
startActivity(intent, animation);
Run Code Online (Sandbox Code Playgroud)
对于片段,您可以在FragmentTransaction上执行类似的操作:
// ...
transaction.setCustomAnimations(R.anim.enter_from_right, R.anim.exit_to_left);
// ...
Run Code Online (Sandbox Code Playgroud)
这有效!但是我想在按下时弹出一个动画(从后台弹出).对于片段,您只需添加2个动画资源(popEnter和popExit):
transaction.setCustomAnimations(R.anim.enter_from_right, R.anim.exit_to_left, R.anim.enter_from_left, R.anim.exit_to_right);
Run Code Online (Sandbox Code Playgroud)
如何为活动创建相同的"背景动画"?