Dav*_* T. 12 animation android transition android-animation android-layout
我有2个活动,我想在两个活动之间创建一个动画过渡,这样两个活动的视图都会向上滑动,就像第二个活动向上推动第一个活动一样.在我使用的第一个活动中:
Intent iSecondActivity = new Intent(FirstActivity.this,SecondActivity.class);
FirstActivity.this.startActivity(iSecondActivity);
FirstActivity.this.overridePendingTransition(R.anim.slide, R.anim.slide2);
Run Code Online (Sandbox Code Playgroud)
我的slide.xml看起来像:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator">
<translate
android:interpolator="@android:anim/decelerate_interpolator"
android:fromYDelta="0"
android:toYDelta="-100%p"
android:duration="2000"
/>
</set>
Run Code Online (Sandbox Code Playgroud)
我的slide2.xml看起来像:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator">
<translate
android:interpolator="@android:anim/decelerate_interpolator"
android:fromYDelta="100%p"
android:toYDelta="0"
android:duration="2000"
/>
</set>
Run Code Online (Sandbox Code Playgroud)
然而,问题在于,当调用"startActivity"时,第二个活动的视图已经在转换刚开始滑动时呈现.我想看到第一个活动的视图向上滑动......但我看到第二个活动的视图(在第一个活动的视图上呈现)向上滑动.
第二个问题是我看到替换视图是第一个活动的视图.我希望替换视图成为向上推动的第二个活动视图.
这很难解释,所以如果我能更详细地解释一下,请告诉我.对于任何混淆道歉,并感谢您阅读此内容.
PS我正在使用textviews ...我想这会渲染太快?我也在使用摩托罗拉Razr,而不是它应该重要.
Dav*_* T. 10
没关系,这是一个愚蠢的错误 - 我不明白"进入动画"与"退出动画"的文档意味着什么.我需要通过改变来交换xmls:
FirstActivity.this.overridePendingTransition(R.anim.slide, R.anim.slide2);
Run Code Online (Sandbox Code Playgroud)
成
FirstActivity.this.overridePendingTransition(R.anim.slide2, R.anim.slide);
Run Code Online (Sandbox Code Playgroud)
只需将这些添加到您的slide2.xml:
android:startOffset="2000"
Run Code Online (Sandbox Code Playgroud)
这样,第二个活动的动画将仅在第一个活动的动画完成后立即开始.
| 归档时间: |
|
| 查看次数: |
19551 次 |
| 最近记录: |