滑动过渡不起作用

时间:2016-06-25 00:48:34

标签: android

我有一些看似正确的代码,但似乎有一个非常跳跃的过渡,我想知道是否有人可以解决问题。

从右到左的动画

<?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);

提前感谢您对此问题的任何帮助。

1 个答案:

答案 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);

UpDate:

如果您想要Image之类的下方转换。然后使用它。

enter image description here

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>