Ale*_*dro 5 animation android android-xml android-activity
我知道这是互联网上的一些例子,而且在Stackoverflow上我发现了许多例子,但是不相信它们,它们都没有满足我的需求.即使我前几次问过类似的问题,我也再次陷入这个问题.基本上是相同的问题,但方向相反.我可以做任何我想要的动画,Activity B但这里的问题是Activity A我可以在几个场景中制作动画.基本上只在这个组合中ActivityA播放enter_left:
overridePendingTransition(R.anim.enter_from_right, R.anim.exit_on_left);
我想要做的是动画(移动)只是Activity A无论是在startActivity()并onBackPressed()同时Activity B在屏幕上停留不为所动.Activity A总是画在上面(作为一个滑动菜单,我可以这样做Activity B).我真的认为上面的代码片段可以完成这项工作:
Intent intent = new Intent(ActivityA.this, ActivityB.class);
startActivityForResult(intent, 500);
overridePendingTransition(R.anim.stay_still, R.anim.exit_on_left);
Run Code Online (Sandbox Code Playgroud)
但这甚至不播放任何动画
//this is the animation for onBackPressed()
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
overridePendingTransition(R.anim.enter_from_left, 0);
}
Run Code Online (Sandbox Code Playgroud)
动画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>
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
stay_still
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<translate
android:duration="500"
android:fromXDelta="0%"
android:toXDelta="0%" />
</set>
Run Code Online (Sandbox Code Playgroud)
我已经尝试了很多组合,但没有它们起作用.你能告诉我这个动画是否可行,是否可以这样做?我会发布一张图片,以便更清楚我想做什么:
所以,第一步:打开startActivity(),ActivityA应该从左侧离开屏幕并在移动时,Activity Bshoull已经"在那里","在它下面".

然后,onBackPressed() Acyivity B应该"回来",从屏幕的左侧进入并重叠该ActivityB保持不动.

不确定您是否尝试过这种组合,但应该有效。-
startActivityForResult(intent, 500);
overridePendingTransition(R.anim.enter_from_left, R.anim.stay_still);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6155 次 |
| 最近记录: |