在做漂亮优体验的Activity切换的时候免不了需要添加一些切换效果,首先我们从overridePendingTransition()这个方法认识起。这个方法有两个参数,参数分别是前一个activity的退出,第二个activity的进入。
package com.egojit.crm;
import com.egojit.crm.comm.DbHelper;
import android.os.Bundle;
import android.app.Activity;
import android.content.ContentValues;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
DbHelper help=new DbHelper(getApplicationContext());
ContentValues values = new ContentValues();
values.put("name", "gao.lu");
values.put("pwd","gao.lu");
values.put("create_at", "2013-5-2");
values.put("remark","gaolu");
values.put("other", "2013");
help.insert(values, "tb_user");
Toast.makeText(getApplicationContext(), "数据库成功!",Toast.LENGTH_LONG).show();
Button btnfisrt=(Button)findViewById(R.id.btn_fisrt);
btnfisrt.setOnClickListener(new clickLis());
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
private class clickLis implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent mainIntent = new Intent(MainActivity.this, LinkActivity.class);
MainActivity.this.startActivity(mainIntent);
MainActivity.this.finish();
overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right);
}
}
}
大家注意OnClickListener监听事件中的切换overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right);是左边进入,右边推出的滑动效果。当然你也可以有淡入淡出的效果:overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);
从图一:
很自然的点击按钮滑动到图二:
大家还可以实现zoomin和zoomout,很像iphone的切换效果overridePendingTransition(R.anim.zoomin, R.anim.zoomout);
新建一个zoomin.xml文件
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator">
<scale android:fromXScale="2.0" android:toXScale="1.0"
android:fromYScale="2.0" android:toYScale="1.0"
android:pivotX="50%p" android:pivotY="50%p"
android:duration="@android:integer/config_mediumAnimTime" />
</set>
新建另一个zoomout.xml文件
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator"
android:zAdjustment="top">
<scale android:fromXScale="1.0" android:toXScale=".5"
android:fromYScale="1.0" android:toYScale=".5"
android:pivotX="50%p" android:pivotY="50%p"
android:duration="@android:integer/config_mediumAnimTime" />
<alpha android:fromAlpha="1.0" android:toAlpha="0"
android:duration="@android:integer/config_mediumAnimTime"/>
</set>