首页 > 解决方案 > 更改屏幕动画的开始

问题描述

我希望我的一项活动在它开始时来自屏幕底部,当它完成时我希望它消失回到底部。有可能做到吗?如果是的话 - 知道怎么做吗?

提前致谢。

标签: androidandroid-activitystart-activity

解决方案


您应该定义两个animations:进入和退出您的活动

动画输入

<?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%p"
           android:toYDelta="0%p"/>

动画退出

<?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="100%p"/>

并在您的活动中使用此动画

class TestActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        overridePendingTransition(R.anim.enter, android.R.anim.fade_out)
    }

    override fun finish() {
        super.finish()
        overridePendingTransition(R.anim.exit, android.R.anim.fade_in)
    }

    override fun onBackPressed() {
        finish()
    }
}

推荐阅读