当前位置: 移动技术网 > IT编程>移动开发>Android > Activity取消界面切换的默认动画方法(推荐)

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

2019年07月24日  | 移动技术网IT编程  | 我要评论

终极一家48,上海房地产新政,尘尘三昧

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网