15

我有一个活动和另一个活动。当我向上滑动屏幕时,我希望我的第一个活动结束。动画应该就像活动也向上滑动一样。就像通知屏幕一样。那可能吗?在发布这个问题之前,我已经做了很多谷歌搜索,但什么也得不到。

PS - 我不希望这被视为一个随意的问题,因为没有显示代码。我只需要一点开始,我完全感到困惑。

4

3 回答 3

38

在 res-> 中创建一个动画文件夹

在 anim 文件夹 slide_up_info.xml 中创建一个 xml 文件

<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
    android:duration="500"
    android:fromYDelta="100%p"
    android:toYDelta="0" />
</set>

slide_down_info.xml

<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
    android:duration="500"
    android:fromYDelta="0%p"
    android:interpolator="@android:anim/accelerate_interpolator"
    android:toYDelta="100%p" />
</set>

no_change.xml

<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:fromYDelta="0%p" android:toYDelta="0" android:duration="500"/>
</set>

现在,当您想要活动时,请编写以下代码

Intent intent_info = new Intent(MainActivity.this,ToActivity.class);
startActivity(intent_info);
overridePendingTransition(R.anim.slide_up_info,R.anim.no_change);

对于 down Activity 动画

Intent intent_home=new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent_home);
overridePendingTransition(R.anim.no_change,R.anim.slide_down_info);
于 2013-09-16T05:05:28.487 回答
0

您也可以这样做:在您的动画中,覆盖 onAnimationEnd 方法,并在其中使用 startActivity 在动画结束后启动您的新活动

于 2013-09-15T22:56:52.803 回答
0

动画可以使用OverridePendingTransition. 看看这个例子,他们展示了一个示例代码。活动之间的动画

要结束一个活动,您可以调用finish()第一个活动。

有关上滑的知识,您可以onFlingGestureDetectorOnTouchListeneronTouch进行检查

于 2013-09-15T22:42:38.013 回答