2011-12-28 67 views
2

我一直在开发一个Android应用程序几个月,现在开始测试Android 4.0。我只是注意到他们改变了屏幕之间的默认转换不是那些旧的过渡幻灯片,而是某种从iPhone背景中弹出新的背景。活动之间新的Android 4.0屏幕转换

有没有人有关于转换的更多信息,它是可配置的吗?如果是这样的话,它在API中我似乎无法找到它。

+0

您是否希望停止动画或者您需要相同的幻灯片动画? – 2011-12-28 10:20:15

+0

我只是好奇的选择,但不介意有能力返回幻灯片动画。 – MikeIsrael 2011-12-28 11:01:07

+0

@MikeIsrael我想知道这一点,这是记录在哪里? – Mirko 2012-12-13 12:31:34

回答

5

使用此控制在android系统画面切换:overridePendingTransition

  • 你应该立即在您与对照希望的任何活动调用此之后startActivity(intent);
  • 覆盖onBackPressed()startActivity()finish()
  • 它适用于android版本> 2.1。在

动画幻灯片/出:

创建以下文件xml在res /动画:

slide_in_left.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:duration="@android:integer/config_shortAnimTime"/> 

slide_in_right.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:duration="@android:integer/config_shortAnimTime"/> 

slide_out_left.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:duration="@android:integer/config_shortAnimTime" /> 

slide_out_right.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:duration="@android:integer/config_shortAnimTime" /> 

的代码片段从A-滑动> B:

public class A extends Activity { 

@Override 
public void onBackPressed() { 
    super.onBackPressed(); 
    overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_right); 
} 

@Override 
public void startActivity(Intent intent) { 
    super.startActivity(intent); 
    overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_right); 
} 

@Override 
public void finish() { 
    super.finish(); 
    overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_right); 

} 


} 

public class B extends Activity { 

@Override 
public void onBackPressed() { 
    super.onBackPressed(); 
    overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left); 
} 

@Override 
public void startActivity(Intent intent) { 
    super.startActivity(intent); 
    overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left); 
} 

@Override 
public void finish() { 
    super.finish(); 
    overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left); 

} 


} 
+0

如何在ActionBar中按下UP按钮? – 2015-04-24 16:38:05