一:动画资源文件
trans_in.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="100%p"
android:toXDelta="0"
android:fromYDelta="0"
android:toYDelta="0"
android:duration="500">
</translate>
trans_out.xml<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0"
android:toXDelta="-100%p"
android:fromYDelta="0"
android:toYDelta="0"
android:duration="500">
</translate>
trans_pre_in.xml<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="-100%p"
android:toXDelta="0"
android:fromYDelta="0"
android:toYDelta="0"
android:duration="500">
</translate>
trans_pre_out.xml<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0"
android:toXDelta="100%p"
android:fromYDelta="0"
android:toYDelta="0"
android:duration="500">
</translate>
二:Activity使用动画资源文件跳转
MainActivity.java
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private Button btMain;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btMain = (Button) findViewById(R.id.bt_main);
btMain.setOnClickListener(this);
}
private void jumpToSecond(View view){
Intent animIntent = new Intent(MainActivity.this, SecondActivity.class);
startActivity(animIntent);
//该方法必须在startActivity()或finish()之后调用
//第一个参数是待打开的Activity的动画,第二个参数是当前activity的动画
//要想在activity切换时当前activity无动画,只需修改trans_out使其x轴和y轴均不移动即可
overridePendingTransition(R.anim.trans_in,R.anim.trans_out);
}
@Override
public void onClick(View v) {
if(v.getId() == R.id.bt_main){
jumpToSecond(v);
}
}
}
SecondActivity.javapublic class SecondActivity extends AppCompatActivity implements View.OnClickListener{
private Button btSecond;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
btSecond = (Button) findViewById(R.id.bt_second);
btSecond.setOnClickListener(this);
}
private void jumpToFirst(View view){
Intent intent = new Intent(SecondActivity.this,MainActivity.class);
startActivity(intent);
finish();
//该方法必须在startActivity()或finish()之后调用
overridePendingTransition(R.anim.trans_pre_in,R.anim.trans_pre_out);
}
@Override
public void onClick(View v) {
if(v.getId() == R.id.bt_second){
jumpToFirst(v);
}
}
}