35

私ができるアクティビティを下から上にスライドさせようとしています。

しかし、下から上にスライドしている間、私のバックグラウンド アクティビティも下にスライドしています。新しいアクティビティが開いたときにバックグラウンド アクティビティのオーバーレイとして表示されるように、バックグラウンド アクティビティを以前と同じ位置に保持したいと考えています。

これが私のslide_in_up.xmlです

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromYDelta="100%p" android:toYDelta="0%p"
android:duration="@android:integer/config_longAnimTime"/>

およびslide_out_up.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromYDelta="0%p" android:toYDelta="100%p"
android:duration="@android:integer/config_longAnimTime"/>

どうやってやるの?
ありがとう...

4

3 に答える 3

56

slide_up.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_decelerate_interpolator">

    <translate
        android:duration="@android:integer/config_longAnimTime"
        android:fromYDelta="100%p"
        android:toYDelta="0" />

</set>

slide_down.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_decelerate_interpolator">

    <translate
        android:duration="@android:integer/config_longAnimTime"
        android:fromYDelta="0"
        android:toYDelta="100%p" />

</set>

滞在.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="@android:integer/config_longAnimTime"
    android:fromYDelta="0%p"
    android:toYDelta="0%p" />

アクティビティを開く

startActivity(new Intent(FromActivity.this, ToActivity.class));
overridePendingTransition(R.anim.slide_up, R.anim.stay);

活動を閉じる

finish();
overridePendingTransition(R.anim.stay, R.anim.slide_down);
于 2016-01-12T06:01:38.977 に答える
53

次に、発信アニメーションを提供して、現在のアクティビティを静止させます。

overridePendingTransition(R.anim.slide_in_up, R.anim.stay);

滞在.xml:

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="@android:integer/config_longAnimTime"
    android:fromYDelta="0%p"
    android:toYDelta="0%p" />
于 2013-05-17T08:06:31.190 に答える