Activity如何取消界面切换的默认动画
来源:互联网 发布:把事情做到极致 知乎 编辑:程序博客网 时间:2024/06/15 02:30
一般启动一个新的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; }
1 0
- Activity如何取消界面切换的默认动画
- Activity取消界面切换的默认动画方法
- 切换默认Activity和Fragment的动画
- Android Activity界面切换动画
- Android Activity 界面切换动画
- 实现Activity界面切换动画
- android Activity切换 和 界面切换 动画
- Activity之间跳转如何取消动画效果以及如何设置软键盘跳出不压缩界面
- Activity的切换动画
- Activity的切换动画
- Activity切换的动画
- Activity的切换动画
- Activity的切换动画
- Android4.4修改activity默认切换动画
- Android Activity界面切换添加动画特效
- Android Activity界面切换添加动画特效
- Android Activity界面切换添加动画特效
- Android Activity界面切换添加动画特效
- 用纯css实现在矩形中切除一个圆(镂空效果)
- MacBook Pro成功安装Win To Go 8.1
- FileInputStream(输入流)字节流
- Java并发工具类
- java 1,2,3维数组定义,遍历
- Activity如何取消界面切换的默认动画
- 搭建Hibernate4开发环境并整合Spring3
- linux字符设备驱动
- Hadoop多用户配置
- #363 – 日历控件基础(Calendar Control Basics)
- Elasticsearch版本客户端与服务端版本不一致问题
- MyEclipse内存溢出问题解决方法
- Unity移动端手势操作——移动3D物体
- Qt多线程:QtConcurrent配合lambda表达式(实例)