我有一些看似正确的代码,但似乎有一个非常跳跃的过渡,我想知道是否有人可以解决问题。
从右到左的动画
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<translate
android:duration="500"
android:fromXDelta="-100%"
android:fromYDelta="0%"
android:toXDelta="0%"
android:toYDelta="0%" />
</set>
从左到右动画
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<translate
android:duration="500"
android:fromXDelta="0%"
android:fromYDelta="0%"
android:toXDelta="100%"
android:toYDelta="0%" />
</set>
我在onclick中使用Intent转换(我认为这可能是问题,但似乎从左到右工作正常)
onclick的代码
Reg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(getApplicationContext(), Register.class);
startActivity(i);
overridePendingTransition(R.anim.right_to_left_exit, R.anim.left_to_right_exit);
提前感谢您对此问题的任何帮助。
答案 0 :(得分:0)
创建slide_in_right.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="@android:integer/config_shortAnimTime"
android:fromXDelta="100%p"
android:toXDelta="0" />
</set>
创建fade_back.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale android:duration="@android:integer/config_shortAnimTime"
android:pivotX="50.0%"
android:pivotY="50.0%"
android:fromXScale="1.0"
android:toXScale="0.9"
android:fromYScale="1.0"
android:toYScale="0.9"/>
<alpha android:duration="@android:integer/config_shortAnimTime"
android:fromAlpha="1.0"
android:toAlpha="0.7"/>
</set>
最后添加此
overridePendingTransition(R.anim.slide_in_right, R.anim.fade_back);
如果您想要Image
之类的下方转换。然后使用它。
open_translate.xml的代码:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<translate android:duration="500"
android:fromXDelta="100%"
android:toXDelta="0"/>
<alpha android:duration="500"
android:fromAlpha="1.0"
android:toAlpha="1.0" />
</set>
close_scale.xml的代码:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<translate android:duration="500"
android:fromXDelta="0"
android:toXDelta="-100%p"/>
<alpha android:duration="500"
android:fromAlpha="1.0"
android:toAlpha="1.0" />
</set>