Activity取消界面切换的默认动画方法(推荐)
作者:jingxian 时间:2021-05-23 12:12:52
一般启动一个新的Activity都默认有切换的动画效果,比如界面从右至左的移动。
但是有些时候我们不需要这个动画,怎么办?
操作方法比较麻烦,这里我推荐其中一种。我这里是要做启动页splash到首页Home无缝展示,即启动页的图片背景和首页最上层的悬浮背景图是一模一样,用户会以为还在启动页,我这里会做些动画,然后进行开门效果。(首页会多出2个按钮,此时就不是启动页了)
主要实现思路:
1、需要设置无动画效果的主题,应用到对应的界面。
2、在启动页面界面结束时,需要增加一个方法 overridePendingTransition(0, 0);
在SplashActivity.this.finish();之前。
3、gif中启动页面和首页都是同一个图片(首页布局上面悬浮了启动页的图片,利用window的decorview)
4、在style.xml里,需要加入下面主题,其中parent=”AppTheme”中的父主题是你应用自身的主题,name=”Theme”的theme是即将需要使用的。接下来在首页的Android:theme=”@style/Theme”设置到你的首页(即你启动页跳转的下一级页面)。
<!-- 取消界面转场动画使用-->
<style name="Theme" parent="AppTheme">
<item name="android:windowAnimationStyle">@style/Animation</item>
</style>
<style name="Animation">
<item name="android:activityOpenEnterAnimation">@null</item>
<item name="android:activityOpenExitAnimation">@null</item>
<item name="android:activityCloseEnterAnimation">@null</item>
<item name="android:activityCloseExitAnimation">@null</item>
<item name="android:taskOpenEnterAnimation">@null</item>
<item name="android:taskOpenExitAnimation">@null</item>
<item name="android:taskCloseEnterAnimation">@null</item>
<item name="android:taskCloseExitAnimation">@null</item>
<item name="android:taskToFrontEnterAnimation">@null</item>
<item name="android:taskToFrontExitAnimation">@null</item>
<item name="android:taskToBackEnterAnimation">@null</item>
<item name="android:taskToBackExitAnimation">@null</item>
</style>
5、如果需要实现gif中效果,防止启动页的图片可能延伸到状态栏,我这边加了占位布局(高度为动态获取的系统状态栏高度,代码是在启动页获取高度)。
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
int statusBarHeight = getStatusBarHeight();
PreferencesUtil.putInt(this, PreferenceKey.SETTING, PreferenceKey.STATUS_BAR_HEIGHT,
statusBarHeight);
LogUtil.e(statusBarHeight + "");
}
public int getStatusBarHeight() {
int result = 0;
int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android");
if (resourceId > 0) {
result = getResources().getDimensionPixelSize(resourceId);
}
return result;
}
标签:activity,切换,动画
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
C#使用反射机制实现延迟绑定
2021-06-13 22:22:42
Android笔记之:App应用之启动界面SplashActivity的使用
2023-03-21 19:05:56
![](https://img.aspxhome.com/file/2023/1/137501_0s.jpg)
简单了解JAVA public class与class区别
2023-11-15 23:59:26
![](https://img.aspxhome.com/file/2023/5/59675_0s.png)
Java实战之在线租房系统的实现
2022-09-29 04:44:18
![](https://img.aspxhome.com/file/2023/8/60808_0s.jpg)
在mybatis 中使用if else 进行判断的操作
2021-11-10 23:17:11
Spring boot的上传图片功能实例详解
2022-10-09 09:52:00
Java 使用多线程调用类的静态方法的示例
2021-10-31 21:29:20
![](https://img.aspxhome.com/file/2023/9/108379_0s.png)
初识Spring Boot框架和快速入门
2022-10-17 00:58:52
![](https://img.aspxhome.com/file/2023/2/97932_0s.png)
mybatis trim标签的使用详解
2022-07-10 23:27:54
![](https://img.aspxhome.com/file/2023/3/106113_0s.png)
解决IntelliJ IDEA中鼠标拖动选择为矩形区域问题
2022-04-03 21:08:51
![](https://img.aspxhome.com/file/2023/6/65176_0s.png)
java eclipse 中文件的上传和下载示例解析
2021-11-18 06:55:58
![](https://img.aspxhome.com/file/2023/9/112049_0s.png)
Android Studio和阿里云数据库实现一个远程聊天程序
2023-06-14 21:09:16
![](https://img.aspxhome.com/file/2023/4/92614_0s.jpg)
C#中感叹号(!) 的作用总结
2021-10-14 15:08:12
![](https://img.aspxhome.com/file/2023/1/116551_0s.png)
C#实现XML文件与DataTable、Dataset互转
2021-06-07 04:00:27
Springboot 使用maven release插件执行版本管理及打包操作
2023-07-12 01:20:35
![](https://img.aspxhome.com/file/2023/8/64518_0s.png)
Java流程控制break和continue
2023-06-16 09:49:54
![](https://img.aspxhome.com/file/2023/6/85536_0s.png)
关于Springboot数据库配置文件明文密码加密解密的问题
2023-11-25 03:29:46
关于C#反射 你需要知道的
2022-01-10 04:33:19
C#/VB.NET实现创建PDF/UA文件的示例代码
2023-05-02 23:31:51
![](https://img.aspxhome.com/file/2023/1/104321_0s.jpg)
c# 随机函数的使用详解
2022-03-16 10:58:07