Android的Activity屏幕左右切换动画

在Android开发过程中,有时候会要求Activity之间切换能够有动画效果。这时候我们一般在StartActivity(intent)之后使用overridePendingTransition (int enterAnim, int exitAnim)。

第一个参数enterAnim表示新Activity进入时的动画。

第二个参数exitAnim表示原先旧的Activity退出时的动画。



如图所示,为手机页面位置示意图。

从位置2到位置1代码:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" <span style="font-family: 'Microsoft YaHei', Verdana, sans-serif, SimSun; font-size: 0.9em;">android:interpolator="@android:anim/accelerate_interpolator"></span><span style="font-size: 0.9em; font-family: 'Microsoft YaHei', Verdana, sans-serif, SimSun;"><translate android:fromXDelta="0%p" android:toXDelta="-100%p"</span><span style="font-size: 0.9em; font-family: 'Microsoft YaHei', Verdana, sans-serif, SimSun;"> android:duration="500" /></span><span style="font-size: 0.9em; font-family: 'Microsoft YaHei', Verdana, sans-serif, SimSun;"></set></span>

从位置3到位置2代码:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android :anim/accelerate_interpolator"><translate android:fromXDelta="100%p" android:toXDelta="0%p"android:duration="500" /></set>

Android代码如下:

public class FirstActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);   
         
        Button button = (Button)findViewById(R.id.button1);
        button.setOnClickListener(new View.OnClickListener() {  
            @Override
            public void onClick(View v) {
                Intent intent = new Intent();
                intent.setClass(<span style="font-size: 0.9em; font-family: 'Microsoft YaHei', Verdana, sans-serif, SimSun;">FirstActivity </span><span style="font-size: 0.9em; font-family: 'Microsoft YaHei', Verdana, sans-serif, SimSun;">.this, SecondActivity.class);</span>
                startActivity(intent);
                //设置切换动画,从右边进入,左边退出
                overridePendingTransition(R.anim.in_from_right, R.anim.out_to_left);                
            }
        });
    }
}

当然,这只是进入新Activity时的动画效果,采取的是从右进入。

如果在按返回键的时候也要有动画效果,可以在OnBackPressed()方法中调用overridePendingTransition(int one,int second);采取的动画效果可以是从左边出来。即上图位置1到位置2,位置2到位置3。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值