在android中更改活动上的xml动画

pra*_*mar 18 android slideup android-animation android-layout android-activity

我在发布之前阅读了以下链接.

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

我需要知道如何制作活动幻灯片xml动画.就像他们为fadein和fadeout做的那样.

geo*_*sey 59

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

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%" />
Run Code Online (Sandbox Code Playgroud)

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%" />
Run Code Online (Sandbox Code Playgroud)


Man*_*nsi 33

对于slide_in xml:

<translate 
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:duration="@android:integer/config_longAnimTime" 
      android:fromXDelta="-100%p" 
      android:toXDelta="0%p">
</translate>
Run Code Online (Sandbox Code Playgroud)

对于slide_out xml:

<translate
      xmlns:android="http://schemas.android.com/apk/res/android" 
      android:duration="@android:integer/config_longAnimTime" 
      android:fromXDelta="0" 
      android:toXDelta="100%p">
</translate>
Run Code Online (Sandbox Code Playgroud)

Java代码:

Intent intent = new Intent(this, newActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.slide_in, R.anim.slide_out);
Run Code Online (Sandbox Code Playgroud)

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

  • 谢谢你花时间.实际上,您提供的代码从左到右滑动.我需要从下到上. (4认同)

Tia*_*ago 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%" />
Run Code Online (Sandbox Code Playgroud)

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%" />
Run Code Online (Sandbox Code Playgroud)

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%" />
Run Code Online (Sandbox Code Playgroud)

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%" />
Run Code Online (Sandbox Code Playgroud)

你的活动.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)
}
Run Code Online (Sandbox Code Playgroud)