15

私には活動と別の活動があります。画面を上にスライドすると、最初のアクティビティが終了します。アニメーションは、アクティビティも上にスライドするようにする必要があります。通知画面のように。それは可能ですか?この質問を投稿する前に Google 検索を何度も行いましたが、何も得られませんでした。

PS-コードが表示されていないため、これをカジュアルな質問と見なしたくありません。開始するにはポイントが必要なだけで、完全に困惑しています。

4

3 に答える 3

38

res-> に anim フォルダーを作成します。

アニメーションフォルダにxmlファイルを作成しますslide_up_info.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);

ダウン アクティビティ アニメーション用

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

を使用して、Activity Launch にアニメーションを導入できますOverridePendingTransition。サンプルコードを示したこの例を見てください。アクティビティ間のアニメーション

finish()アクティビティを終了するには、最初のアクティビティを呼び出すことができます。

スライドアップについての知識は、GestureDetector または OnTouchListener から確認できますonFlingonTouch

于 2013-09-15T22:42:38.013 に答える