Android与Activity之间的动画

时间:2011-10-28 09:12:16

标签: android layout animation android-activity

我需要了解Android上的动画。

例如,我的应用程序以一个带底部按钮的活动开始,当用户点击按钮时,我希望另一个活动从下到上显示动画,我希望该按钮成为“标题”第二项活动。

我怎样才能实现这个目标?

谢谢

丹尼尔

感谢DecodeGnome的回答!它有效!

但是当我要关闭此活动时,我对动画有一些问题,我创建了一个anim_out.xml:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
    android:fromXDelta="0%p"
    android:fromYDelta="0%p"
    android:toXDelta="0"
    android:toYDelta="100%p"
    android:duration="300" />
 </set> 

但这不起作用(overridePendingTransition的第二个参数用于什么?)。

我尝试在onStop()函数中调用一个新的overridePendingTransition:

public void onStop(){
   super.onStop();
   overridePendingTransition(R.anim.top_to_bottom, R.anim.top_to_bottom);

}

但是当我调用完第二个活动时,我仍然会看到默认动画(从左到右)!

再次感谢谁能帮助我。

2 个答案:

答案 0 :(得分:4)

1)在res文件夹中创建一个名为anim的文件夹

2)在那里添加2个新的XML动画(例如,anim_in.xml&amp; anim_out.xml)

3)将这行代码放在onCreate:

的新活动中
  

overridePendingTransition(R.anim.anim_in,R.anim.anim_out);

Anim_in.xml示例:

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

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

4)将按钮(标题)放在第二个活动布局的顶部。

答案 1 :(得分:-1)

使用此代码:

     public void onBackPressed() {
        super.onBackPressed();   
        overridePendingTransition(R.anim.top_to_bottom, R.anim.top_to_bottom);
}