19

在发布此内容之前,我阅读了以下链接。

如何在 Android 中的两个活动之间应用幻灯片动画?

我需要知道如何制作活动幻灯片 xml 动画。就像他们为淡入淡出所做的那样。

4

4 回答 4

61

接受的答案不是问题所要求的,即从底部向上滑动并从顶部滑出的动画。

pull_up_from_bottom.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="100%"
    android:toYDelta="0%" />

push_out_to_bottom.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%"
    android:toYDelta="100%" />
于 2012-12-02T06:11:58.157 回答
35

对于幻灯片输入 xml:

<translate 
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:duration="250" 
      android:fromXDelta="-100%p" 
      android:toXDelta="0%p">
</translate>

对于幻灯片输出 xml:

<translate
      xmlns:android="http://schemas.android.com/apk/res/android" 
      android:duration="200" 
      android:fromXDelta="0" 
      android:toXDelta="100%p">
</translate>

Java代码:

Intent intent = new Intent(this, newActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.slide_in, R.anim.slide_out);

将两个 xml 文件放在 res/anim 文件夹中。

于 2012-08-11T06:13:43.357 回答
7

这就是我所追求的:

res/anim/slide_up.xml

<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_longAnimTime"
android:fromYDelta="100%"
android:toYDelta="0%" />

res/anim/slide_down.xml

<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_longAnimTime"
android:fromYDelta="0%"
android:toYDelta="0%" />

res/anim/slide_down_reverse.xml

<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_longAnimTime"
android:fromYDelta="0%"
android:toYDelta="0%" />

res/anim/slide_up_reverse.xml

<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_longAnimTime"
android:fromYDelta="0%"
android:toYDelta="100%" />

你的活动.kt

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    setContentView(R.layout.your_layout)

    overridePendingTransition(R.anim.slide_up, R.anim.slide_down)
}

override fun finish() {
    super.finish()

    overridePendingTransition(R.anim.slide_down_reverse, R.anim.slide_up_reverse)
}
于 2019-11-27T09:01:46.000 回答
0

您可以将以下代码用于上滑活动过渡动画。

startActivity(new Intent(MainActivity.this, DataSetActivity.class));
overridePendingTransition(R.anim.slide_out_bottom, R.anim.slide_in_bottom);

R.anim.slide_out_bottom

<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="false">
    <translate
        android:duration="250"
        android:fromXDelta="0%"
        android:fromYDelta="100%"
        android:toXDelta="0%"
        android:toYDelta="0%" />
</set>

R.anim.slide_in_bottom

<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="false">
    <translate
        android:duration="200"
        android:fromXDelta="0%"
        android:fromYDelta="0%"
        android:toXDelta="0%"
        android:toYDelta="100%" />
</set>
于 2020-02-24T11:15:10.103 回答