大家使用Android的原生UI都知道,Android的Activity跳转就是很生硬的切换界面。其实Android的Activity跳转可以设置各种动画。下面给大家看看效果:
 

实现非常简单,用overridePendingtransition(int inId, int outId)即可实现。inId是下一界面进入效果的xml文件的id,outId是当前界面退出效果的xml文件id。

效果是用xml文件写的,首先要在res文件夹下建立anim文件夹,然后把动画效果xml文件放到里面去。
下面是放大进入,缩小退出的xml文件:
zoomin.xml:
复制代码 代码如下:
<?xml version="1.0" encoding="utf-8"?>
android:interpolator="@android:anim/decelerate_interpolator">
android:fromYScale="0.1" android:toYScale="1.0"
android:pivotX="50%p" android:pivotY="50%p"
android:duration="300" />

android:fromAlpha="0.1"
android:toAlpha="1.0"
android:duration="300" />


zoomout.xml
复制代码 代码如下:
<?xml version="1.0" encoding="utf-8"?>
android:interpolator="@android:anim/decelerate_interpolator"
android:zAdjustment="top">
android:fromYScale="1.0" android:toYScale=".5"
android:pivotX="50%p" android:pivotY="50%p"
android:duration="300" />

android:duration="300"/>


MainActivity.java:
复制代码 代码如下:
public class MainActivity extends Activity implements OnClickListener {
private Button btn1;
private Button btn2;
private Button btn3;
private Button btn4;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_1);
btn1 = (Button) findViewById(R.id.btn1);
btn2 = (Button) findViewById(R.id.btn2);
btn3 = (Button) findViewById(R.id.btn3);
btn4 = (Button) findViewById(R.id.btn4);
btn1.setOnClickListener(this);
btn2.setOnClickListener(this);
btn3.setOnClickListener(this);
btn4.setOnClickListener(this);
}

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
int version = Integer.valueOf(android.os.Build.VERSION.SDK);
switch(v.getId()) {
case R.id.btn1:
//放大缩小跳转
startActivity(new Intent(this, OtherActivity.class));
if(version > 5 ){
overridePendingTransition(R.anim.zoomin, R.anim.zoomout);
}
break;
case R.id.btn2:
//淡入淡出跳转
startActivity(new Intent(this, OtherActivity.class));
if(version > 5 ){
overridePendingTransition(R.anim.alphain, R.anim.alphaout);
}
break;
case R.id.btn3:
//左向右跳转
startActivity(new Intent(this, OtherActivity.class));
if(version > 5 ){
overridePendingTransition(R.anim.move_in_right, R.anim.move_out_right);
}
break;
case R.id.btn4:
//右向左跳转
startActivity(new Intent(this, OtherActivity.class));
if(version > 5 ){
overridePendingTransition(R.anim.move_in_left, R.anim.move_out_left);
}
break;
}
finish();
}
}

还有很多动画效果,就要靠我们发挥自己的想象力,自己去设计,呵呵~

更多相关文章

  1. android的2种Animation模式配置
  2. Android代码混淆之混淆规则
  3. android播放rtsp文件
  4. android之layout_weight体验(实现按比例显示)
  5. Android中的动画详解系列【2】——飞舞的蝴蝶
  6. Android两行代码真正杀死你的App
  7. 解决TextView设置跑马灯但却没有效果
  8. Android(安卓)HAL 开发 (1)
  9. 如何在自己的程序中添加appWidget(附简单代码)

随机推荐

  1. EditText的常用点,输入控制(包含inputType)
  2. Android 2.3 StatusBar 分析(二)
  3. android 架构模式MVC,MVP,MVVM(2)
  4. 在MAC OS下设置ANDROID_HOME
  5. Android Material Design之TextInputLayo
  6. android recyclerview adaper封装
  7. android popwindow仿微信右上角弹出框,dia
  8. Android(安卓)客户端通过内置API(HttpClie
  9. android开发新浪微博客户端
  10. Android 手绘 - 支持保存为图片