• 首页

  • 官方

  • 主题

  • 关注

  • 联系

Android安卓开发:设置activity切换时的动画效果(以左出右退效果为例)

Android安卓开发:设置activity切换时的动画效果(以左出右退效果为例)

前言:

1. 我借鉴了网络上的代码

2. 我并没有深入了解,难免出错

效果:

image

代码:

1.准备效果文件

在res文件夹下的anim目录中添加slide_in_right.xml、slide_in.xml、slide_out_left_exit.xml效果文件

  • slide_in_right.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="400"
    android:interpolator="@android:interpolator/decelerate_quad">

    <translate
        android:fromXDelta="100%"
        android:toXDelta="0" />

</set>
  • slide_in.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="400"
    android:interpolator="@android:interpolator/decelerate_quint">

    <scale
        android:fromXScale="1"
        android:fromYScale="1"
        android:pivotX="100%"
        android:pivotY="100%"
        android:toXScale="1"
        android:toYScale="1" />

    <alpha
        android:fromAlpha="1"
        android:toAlpha="1" />

</set>

  • slide_out_left_exit.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="400"
    android:interpolator="@android:interpolator/decelerate_quad">
    <translate
        android:fromXDelta="0"
        android:toXDelta="100%" />
</set>

2.在Activity.java中重写onCreate和onPause方法

@Override
protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	overridePendingTransition(R.anim.slide_in_right, R.anim.slide_in);
}
@Override
protected void onPause() {
	super.onPause();
	overridePendingTransition(0, R.anim.slide_out_left_exit);
}
posted @ 2024-01-27 21:49  戈小戈  阅读(119)  评论(0编辑  收藏  举报