Activity转场动画(透明Activity)

原创 2015年11月18日 23:06:53

公司的应用开发已经进入了优化阶段,这时就想给每一个打开的activity增加一个手势返回,当手指向右滑动时候,activity会跟着手指滑动,直至销毁(仿微信)。

想做成滑动返回的效果,当前的activity除了监听手势之外,自身的背景一定要是透明的!并且为了配合右滑返回的效果,activity进场的动画也不能采用默认的动画,应该让activity从屏幕的右侧飘进来~~activity销毁的时候向右侧飘去~~~


滑动中透明的Activity效果如上图所示:

首相在styles.xml中自定义一个转场的样式:

<style name="AnimationActivity" parent="@android:style/Animation.Activity">
        <item name="android:activityOpenEnterAnimation">@anim/slidein_from_right</item>
        <item name="android:activityOpenExitAnimation">@anim/xxxx</item>
        <item name="android:activityCloseExitAnimation">@anim/slideout_to_right</item>
        <item name="android:activityCloseEnterAnimation">@anim/xxxxx</item>
</style>
activityOpenEnterAnimation:A打开B,B进入时候的动画

activityOpenExitAnimation:A打开B,A消失时候的动画

activityCloseExitAnimation:B退出到A,B退出时候的动画

activityCloseEnterAnimation:B退出到A,A进入时候的动画


再将上面的样式关联到activity需要设置的样式上:

<style name="AppThemeLightTranslucent" parent="Theme.AppCompat.Light.DarkActionBar">
	<item name="android:windowAnimationStyle">@style/AnimationActivity</item>
	<item name="android:windowIsTranslucent">true</item>
	<item name="android:windowBackground">@android:color/transparent</item>
</style>
windowIsTranslucent和windowBackground就是将activity设置为透明


最后在manifest中将需要用到滑动返回的activity设置为我们自定义的样式:

<activity
    android:name=".MainActivity"
    android:screenOrientation="portrait"
    android:theme="@style/AppThemeLightTranslucent"
    />

通过上述的代码,我们的activity就会带有转场动画以及透明的背景啦吐舌头

最后再附上转场动画的set文件:

slidein_from_right.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:fromXDelta="80%p" android:toXDelta="0"
        android:duration="@android:integer/config_mediumAnimTime"/>
    <!--<alpha android:fromAlpha="0.0" android:toAlpha="1.0"-->
        <!--android:duration="@android:integer/config_mediumAnimTime" />-->
</set>
slideout_to_right.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:fromXDelta="0" android:toXDelta="80%p"
        android:duration="@android:integer/config_mediumAnimTime"/>
    <!--<alpha android:fromAlpha="1.0" android:toAlpha="0.0"-->
        <!--android:duration="@android:integer/config_mediumAnimTime" />-->
</set>

滑动返回我是参考的github一个库SwipeBackActivity,源代码是监听了全屏的滑动返回事件,我把他改成了只有左边缘才会触发侧滑返回事件,我觉得这样的话,更加适合项目。

差不多该结束了,若有问题请留言,或者加我QQ:394114161




版权声明:本文为博主原创文章,未经博主允许不得转载。

Activity转场动画——ActivityOptions,activity转场动画(MD风格)

相信大家对于Activity的过度动画都很熟悉了,一般情况下我们直接使用overridePendingTransition(enterAnim, exitAnim);但是这种老旧、生硬的方式怎么能适合...
  • Imshuyuan
  • Imshuyuan
  • 2017年06月06日 14:28
  • 350

安卓开发小技巧---如何去掉Activity的转场动画

Activity的动画效果在\Android\frameworks\base\core\res\res\values下的stlyes.xml,themes.xml两个文件中有定义。 去掉Activi...
  • panghaha12138
  • panghaha12138
  • 2017年06月06日 09:42
  • 798

Android开发之Activity与界面的转场动画

对于我这么一个刚学习Android不久的新人来人,感觉Android充满了新奇,各种酷炫的界面动画。今天就学习了下简单的转场动画,和大家分享一下,也算是对学习的一个总结。首先是activity的转场动...
  • xinzhifu1
  • xinzhifu1
  • 2016年06月17日 17:05
  • 223

activity 转场动画(全局)---随手

###1.在application里面进行添加   android:theme="@style/MyTestAppTheme" ###2. MyTestAppTheme             @...
  • suo172
  • suo172
  • 2017年02月24日 18:40
  • 361

Android5.0之Activity的转场动画

Activity的转场动画很早就有,但是太过于单调,样式也不好看,于是Google在Android5.0之后,又推出的新的转场动画,效果还是非常炫的,今天我们一起来看一下。1.旧转场动画回顾首先我们还...
  • u012702547
  • u012702547
  • 2016年05月01日 12:37
  • 16532

Activity转场动画遇到的问题

前言对于Activity的转场动画,Google官方也提供了相应的Api,供开发者简单实现Activity之间切换的动画效果.添加动画效果也不难,但是最近开发中添加的切换动画效果却都不生效,究其一般之...
  • yk377657321
  • yk377657321
  • 2017年05月31日 16:09
  • 540

Android 使用ActivityOptions实现Activity转场动画

之前一直都是用这种方式实现Activity的转场动画:// MainActivity overridePendingTransition(enterAnim, exitAnim);从Android5....
  • JohanMan
  • JohanMan
  • 2017年08月07日 16:28
  • 797

Android设置Activity背景为透明style

方法一: 通过
  • mad1989
  • mad1989
  • 2014年07月25日 17:53
  • 100516

android activity转场动画(不兼容5.0一下)

四种启动方式分别对应:普通的启动方式(即startActivity)、explode、slide和fade; 使用的方法如下: 对于startActivity的设置时相同的: startAc...
  • shb2058
  • shb2058
  • 2017年07月25日 13:32
  • 130

Activity与Fragment的转场动画.

因为要新增一个页面,突然想试试转场动画,做完以后还是做个笔记,防止以后忘记了不好找… 1. Activity与Activity的转场动画5.0以上才行,但是如果手机没有5.0则会执行默认普通情况1.1...
  • heming9174
  • heming9174
  • 2017年04月26日 11:18
  • 527
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Activity转场动画(透明Activity)
举报原因:
原因补充:

(最多只允许输入30个字)