android 全局activity动画,如何添加Activity的切换动画呢
先上效果图(GIF显示效果比较卡,不过实际是很流畅的)先上效果图(GIF显示效果比较卡,不过实际是很流畅的)效果.gif找到了两种实现办法overridePendingTransition方法在startActivity后加上这样一行代码startActivity(new Intent(MainActivity.this , SelectWiFiActivity.class));overrideP
先上效果图(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">
更多推荐
所有评论(0)