Activity切换动画overridePendingTransition

来源:互联网 发布:java swing 做成exe 编辑:程序博客网 时间:2024/04/27 15:38

一:动画资源文件

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.java
public 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);        }    }}







0 0
原创粉丝点击