先上效果图(GIF显示效果比较卡,不过实际是很流畅的)

先上效果图(GIF显示效果比较卡,不过实际是很流畅的)

效果.gif

找到了两种实现办法overridePendingTransition方法

在startActivity后加上这样一行代码

startActivity(new Intent(MainActivity.this , SelectWiFiActivity.class));

overridePendingTransition(R.anim.up_in, R.anim.up_out);

然后在跳转到的activity里重写finish方法@Overridepublic void finish() {    super.finish();

overridePendingTransition(R.anim.down_in, R.anim.down_out);

}

overridePendingTransition的两个参数分别是新的activity进入的动画和当前activity退出的动画

2.自定义主题style

在style.xml文件夹内加入

@style/AnimationActivity

true

@anim/up_in

@anim/up_out

@anim/down_in

@anim/down_out

A 启动 B 时,A 从屏幕上消失,这时执行的是A的android:activityOpenExitAnimation

A 启动 B 时,B 出现在屏幕上,这时执行的是B的android:activityOpenEnterAnimation

从 B 返回A时,B从屏幕上消失,这时执行的是B的android:activityCloseExitAnimation

从 B 返回A时,A 出现在屏幕上,这时执行的是A的android:activityCloseEnterAnimation

我的动画文件,供参考

up_in.xml

android:fromYDelta="100%p"

android:toYDelta="0"

android:duration="800"

/>

up_out.xml

android:fromYDelta="0"

android:toYDelta="-100%p"

android:duration="800"

/>

down_in.xml

android:fromYDelta="-100%p"

android:toYDelta="0"

android:duration="800"

/>

down_out.xml

android:fromYDelta="0"

android:toYDelta="100%p"

android:duration="800"

/>

至此,一声感叹,animation set居然还有如此之操作?hh

更多动画效果可以参考

Android Developer API文档 (需 科 学 上 网)

使用style主题既可以应用在AndroidManifest.xml下 application的android:theme里作为全局主题动画效果,也可以单独应用在activity内单独应用于某些activity

android:icon="@mipmap/ic_launcher"

android:label="@string/app_name"

android:roundIcon="@mipmap/ic_launcher_round"

android:supportsRtl="true"

android:theme="@style/MyAppTheme">

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐