gpt4 book ai didi

android - Activity Transition 滑入/滑出动画

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:31:18 25 4
gpt4 key购买 nike

我知道这是一些在互联网上的例子,也在 Stackoverflow 上我找到了很多例子,但不管你信不信,它们都不能满足我的需要。 Even I have asked a similar question few time ago我又陷入了这个问题。基本上是同一个问题,但方向相反。我可以用 Activity B 做任何我想做的动画,但这里的问题是 Activity A 我只能在少数情况下制作动画。基本上ActivityA只在这个组合中播放enter_left:

overridePendingTransition(R.anim.enter_from_right, R.anim.exit_on_left);

我想做的是在 startActivity()onBackPressed() 上仅对 Activity A 进行动画处理(移动),同时 Activity B 在屏幕上不动。 Activity A 将始终绘制在顶部(作为滑动菜单,我可以用 Activity B 做到这一点)。我真的认为上面的代码 fragment 可以完成工作:

Intent intent = new Intent(ActivityA.this, ActivityB.class);
startActivityForResult(intent, 500);
overridePendingTransition(R.anim.stay_still, R.anim.exit_on_left);

但这甚至不播放任何动画,而

//this is the animation for onBackPressed()
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
overridePendingTransition(R.anim.enter_from_left, 0);
}

动画 Activity A 如我所愿,但 Activity B 突然从屏幕上消失,我想留下来(设置 (R.anim.enter_from_left, R.anim .stay_still) 什么都不做)。

我已经准备了所有 5 个必要的动画:

enter_from_left

<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >

<translate
android:duration="500"
android:fromXDelta="-100%"
android:toXDelta="0%" />
</set>

exit_on_left

<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >

<translate
android:duration="500"
android:fromXDelta="0%"
android:toXDelta="-100%" />
</set>

enter_from_right

    <set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >

<translate
android:duration="500"
android:fromXDelta="100%"
android:toXDelta="0%" />
</set>

exit_on_right

    <set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >

<translate
android:duration="500"
android:fromXDelta="0%"
android:toXDelta="100%" />
</set>

保持静止

<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >

<translate
android:duration="500"
android:fromXDelta="0%"
android:toXDelta="0%" />
</set>

我尝试了很多组合,但没有一个有效。你能告诉我这个动画是否可行,是否可以用这种方式完成?我将发布一张图片,以更清楚地说明我想做什么:

因此,第一步:在 startActivity() 上,ActivityA 应该从左侧离开屏幕,并且在移动时,Activity B应该已经“在那里”,“在它下面”。

enter image description here

然后,onBackPressed() Acyivity B 应该“回来”,从屏幕左侧进入并与 ActivityB 重叠保持不动。

enter image description here

最佳答案

不确定您是否尝试过这种组合,但应该可以。-

startActivityForResult(intent, 500);
overridePendingTransition(R.anim.enter_from_left, R.anim.stay_still);

关于android - Activity Transition 滑入/滑出动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19779154/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com