Activity的切换效果

    xiaoxiao2023-11-05  169

    Activity有默认的切换效果,但是这个效果我们是可以自定义的,主要用到overridePendingTransition(int enterAnim,int exitAnim)这个方法,这个方法必须在startActivity(Intent)或者finish()之后被调用才能生效第一种方式,通过代码加载xml动画 fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) btn = findViewById(R.id.btn) btn!!.setOnClickListener { val intent: Intent = Intent(this, SecondActivity::class.java) startActivity(intent) overridePendingTransition(R.anim.anim_enter,R.anim.anim_exit) } }

    进场动画 R.anim.anim_enter

    <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:duration="2000" android:fromYDelta="-100%" android:interpolator="@android:anim/accelerate_interpolator" android:toYDelta="0%" /> </set>

    出场动画 R.anim.anim_exit

    <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:duration="2000" android:fromYDelta="0%" android:interpolator="@android:anim/accelerate_interpolator" android:toYDelta="100%" /> </set>

    效果如下

    同时也可以为Activity定义style来设置 <style name="ani" parent="@android:style/Animation.Activity"> <item name="android:activityOpenEnterAnimation">@anim/anim_enter</item> <item name="android:activityOpenExitAnimation">@anim/anim_exit</item> <item name="android:activityCloseEnterAnimation">@anim/anim_enter</item> <item name="android:activityCloseExitAnimation">@anim/anim_exit</item> </style> android:theme="@style/ani"
    最新回复(0)