Android 4.0(API 14+)中的活动之间的默认转换是什么

时间:2012-12-13 09:36:41

标签: android android-animation

我构建了一个包含很多活动的应用程序,我希望“从右侧进入/滑动,从左侧退出”在它们之间进行过渡。

我不止一次地读过幻灯片转换应该是Android的默认设置,但是我在转换上开发的设备默认是淡入/淡出(Galaxy Tab 2 7“,在ICS 4.0上)。

我是否需要在应用程序级别声明任何内容,例如在清单文件中?

我在问,因为否则我需要将overridePendingTransition (R.anim.right_slide_in, R.anim.left_slide_out);添加到我所有的过渡中......这只是想知道我在走这条路之前是否遗漏了什么。

非常感谢

3 个答案:

答案 0 :(得分:7)

没有答案......在我试过的4+设备上,动画是一个淡入淡出,可以放大或缩小......

我手动添加了代码,我希望获得幻灯片动画:

//open activity
startActivity(new Intent(this, MyActivity.class));
overridePendingTransition(R.anim.right_slide_in, R.anim.left_slide_out);

xml动画从右到左:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_decelerate_interpolator" >

<translate
    android:duration="300"
    android:fromXDelta="100%p"
    android:toXDelta="0" />

</set>

xml动画从左到右:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_decelerate_interpolator" >

<translate
    android:duration="300"
    android:fromXDelta="0"
    android:toXDelta="-100%p" />

</set>

答案 1 :(得分:1)

style.xml 文件中添加

 <style name="WindowAnimationTransition">
    <item name="android:windowEnterAnimation">@android:anim/slide_in_left</item>
    <item name="android:windowExitAnimation">@android:anim/slide_out_right</item>
</style>

并添加

 <style name="AppTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
   ...
    <item name="android:windowAnimationStyle">@style/WindowAnimationTransition</item>
</style>

答案 2 :(得分:0)

有一种方法涉及创建一个样式,然后在清单中添加它: How to change all the activity transitions at once in Android application?,  但我只是设法让它在startActivity()上工作。每当按下后退时,此方法将无效,或者我可能只是遗漏了某些内容。