【发布时间】:2023-03-11 09:24:01
【问题描述】:
我有一个活动和另一个活动。 当我向上滑动屏幕时,我希望我的第一个活动结束。动画应该就像活动也向上滑动一样。就像通知屏幕一样。 那可能吗?在发布此问题之前,我已经进行了多次 Google 搜索,但没有得到任何结果。
P.S - 我不希望这被视为一个随意的问题,因为没有显示代码。我只需要一点开始,我完全感到困惑。
【问题讨论】:
我有一个活动和另一个活动。 当我向上滑动屏幕时,我希望我的第一个活动结束。动画应该就像活动也向上滑动一样。就像通知屏幕一样。 那可能吗?在发布此问题之前,我已经进行了多次 Google 搜索,但没有得到任何结果。
P.S - 我不希望这被视为一个随意的问题,因为没有显示代码。我只需要一点开始,我完全感到困惑。
【问题讨论】:
在 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);
用于向下Activity动画
Intent intent_home=new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent_home);
overridePendingTransition(R.anim.no_change,R.anim.slide_down_info);
【讨论】:
可以使用OverridePendingTransition 将动画引入Activity Launch。看看这个例子,他们展示了一个示例代码。 Animation between activities
要结束一个活动,您可以在第一个活动上调用finish()。
有关上滑的知识,可以查看onFling from GestureDetector or onTouch from OnTouchListener
【讨论】:
您也可以这样做:在您的动画中,覆盖 onAnimationEnd 方法,并在其中使用 startActivity 在动画结束后启动您的新活动
【讨论】: