Activity取消界面切换的默认动画方法(推荐)

一般启动一个新的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取消界面切换的默认动画方法(推荐)全部内容了,希望大家多多支持脚本之家~

时间: 2024-09-19 15:49:26

Activity取消界面切换的默认动画方法(推荐)的相关文章

Activity取消界面切换的默认动画方法(推荐)_Android

一般启动一个新的Activity都默认有切换的动画效果,比如界面从右至左的移动. 但是有些时候我们不需要这个动画,怎么办? 操作方法比较麻烦,这里我推荐其中一种.我这里是要做启动页splash到首页Home无缝展示,即启动页的图片背景和首页最上层的悬浮背景图是一模一样,用户会以为还在启动页,我这里会做些动画,然后进行开门效果.(首页会多出2个按钮,此时就不是启动页了) 主要实现思路: 1.需要设置无动画效果的主题,应用到对应的界面. 2.在启动页面界面结束时,需要增加一个方法 overrideP

jquery取消事件冒泡的三种方法(推荐)_jquery

1.通过返回false来取消默认的行为并阻止事件起泡. jQuery 代码: $("form").bind( "submit", function() { return false; } ); 2.通过使用 preventDefault() 方法只取消默认的行为. jQuery 代码: $("form").bind( "submit", function(event){ event.preventDefault(); } );

flex界面切换有几种方法?就是多个模块怎么集成和配合的问题

问题描述 初学Flex,从接触到的书籍和资料没有查到怎么进行复杂布局的方法,只看到用state一个方法,但一个大应用不可能把所有界面都堆在一个mxml了吧,请问各位大侠有哪些方法可以复杂布局,或者说多个mxml之间怎么配合. 问题补充:今天看了多模块之间可以用<mx:module>连接到*.swf来解决界面切换的问题,可以多个swf之间怎么维持会话,比如如果用户知道swf之间的关系的话,可以直接访问改swf而不用通过权限控制系统. 解决方案 1. ViewStack2. ViewStack +

flex界面切换有几种方法?

问题描述 初学Flex,从接触到的书籍和资料没有查到怎么进行复杂布局的方法,只看到用state一个方法,但一个大应用不可能把所有界面都堆在一个mxml了吧,请问各位大侠有哪些方法可以复杂布局,或者说多个mxml之间怎么配合.问题补充:今天看了多模块之间可以用<mx:module>连接到*.swf来解决界面切换的问题,可以多个swf之间怎么维持会话,比如如果用户知道swf之间的关系的话,可以直接访问改swf而不用通过权限控制系统. 解决方案 在flex中切换界面很简单大致有以下方式1.viewS

C# winform 界面切换闪烁问题

问题描述 用了双缓冲减弱了闪烁效果,但有闪到界面一下的效果,很明显,求问如何解决呀. 解决方案 解决方案二:你的绘图代码本身需要优化,比如说不属于绘图的可放在别的线程解决方案三:你问题的范围太大了就像别人问你为何我的电脑总是很卡一样...说都说不清楚是什么问题解决方案四:引用1楼devmiao的回复: 你的绘图代码本身需要优化,比如说不属于绘图的可放在别的线程 能具体举个例子吗?我的确是加入新图后出现这种情况,我是初学者,不太会.解决方案五:在窗体放个定时器Timer2(Interval设为10

Android实现Activity界面切换添加动画特效的方法_Android

本文以实例形式展示了Android实现Activity界面切换添加动画特效的方法,对于Android程序设计人员来说有很好的参考借鉴价值.具体方法如下: 了解Android程序设计的人应该知道,在Android 2.0之后有了overridePendingTransition(),其中里面两个参数,一个是前一个activity的退出,另一个activity的进入. 现看看下面这段示例代码: @Override public void onCreate(Bundle savedInstanceSt

Android实现Activity界面切换添加动画特效的方法

本文以实例形式展示了Android实现Activity界面切换添加动画特效的方法,对于Android程序设计人员来说有很好的参考借鉴价值.具体方法如下: 了解Android程序设计的人应该知道,在Android 2.0之后有了overridePendingTransition(),其中里面两个参数,一个是前一个activity的退出,另一个activity的进入. 现看看下面这段示例代码: @Override public void onCreate(Bundle savedInstanceSt

去掉activity默认动画效果的简单方法_Android

很多手机都会自带一些Activity切换动画,项目中如果我们需要禁用掉系统Activity切换的动画,可以使用如下方法: 一.重写Activity的Them中的windowAnimationStyle相关属性,并保存在res/values/styles.xml <style name="Theme.notAnimation" parent="android:Theme.Light.NoTitleBar.Fullscreen"> <item name

去掉activity默认动画效果的简单方法

很多手机都会自带一些Activity切换动画,项目中如果我们需要禁用掉系统Activity切换的动画,可以使用如下方法: 一.重写Activity的Them中的windowAnimationStyle相关属性,并保存在res/values/styles.xml <style name="Theme.notAnimation" parent="android:Theme.Light.NoTitleBar.Fullscreen"> <item name