Android Activity转换

时间:2015-12-30 09:21:31

标签: android transition

我正在转换到活动B,当点击活动A上的某个按钮时将调用活动B.单击按钮后,活动B从右到左显示。现在,我希望在单击后退按钮时在活动B上从左到右转换。谁都知道怎么做。当我想去活动A时,我正在调用onBackPressed()。

这是活动A

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mBtnNext = (Button) findViewById(R.id.btn_go_next);

        mBtnNext.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(MainActivity.this, second.class));
            }
        });


    }`

这是活动B

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);

        mBtnGoBack = (Button) findViewById(R.id.btn_go_back);

        mBtnGoBack.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {


            }
        });

        overridePendingTransition(R.anim.right_slide, R.anim.left_slide);
    }

    @Override
    public void onBackPressed() {
        super.onBackPressed();
        overridePendingTransition(R.anim.left_slide, R.anim.right_slide);
    }

`

这是我的左侧 <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>

这是我的右侧 <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>

1 个答案:

答案 0 :(得分:0)

您需要创建一个新文件夹,右键单击res文件夹,创建新的文件夹名称。你可以把你的动画xmls放进去。

在res / anim /

中使用此xml

这是从左到右的动画:

<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:shareInterpolator="false">
  <translate android:fromXDelta="-100%" android:toXDelta="0%"
             android:fromYDelta="0%" android:toYDelta="0%"
             android:duration="700"/>
</set>

这是从右到左动画:

<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:shareInterpolator="false">
  <translate
     android:fromXDelta="0%" android:toXDelta="100%"
     android:fromYDelta="0%" android:toYDelta="0%"
     android:duration="700" />
</set>

在您的编码使用意图中,从左到右:

this.overridePendingTransition(R.anim.animation_enter,
                   R.anim.animation_leave);
In your coding use intent like for right to left

this.overridePendingTransition(R.anim.animation_leave,
                               R.anim.animation_enter);