Android activity动画(淡入淡出)

今天记录下Activity一个淡入淡出的切换效果
大概效果就是去除了activity的切换动画,感觉很简洁,个人比较喜欢这个效果

直接上效果:


video2gif_20190222_175450.gif

先简单说几个属性
android:interpolator:主要作用是可以控制动画的变化速率,比如去实现一种非线性运动的动画效果。那么什么叫做非线性运动的动画效果呢?就是说动画改变的速率不是一成不变的,像加速运动以及减速运动都属于非线性运动。
android:fromAlpha:属性为动画起始时透明度
android:toAlpha:属性为动画结束时透明度
android:duration:动画持续时间,单位毫秒

<1>在res文件夹下建立anim文件夹,建立anim_fade_in.xml和anim_fade_out.xml两个动画资源

<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"
    android:fromAlpha="0.0" android:toAlpha="1.0"
    android:duration="300" />
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"
    android:fromXDelta="0" android:toXDelta="0"
    android:duration="300" />

<2>在values文件夹下的styles.xml中的resources标签内自定义style样式

<!--activity 淡入淡出-->
<style name="AnimActivity" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowAnimationStyle">@style/anim_fade</item>
    <item name="android:windowNoTitle">true</item>
</style>

 <style name="anim_fade" parent="@android:style/Animation.Activity">
    <item name="android:activityOpenEnterAnimation">@anim/anim_fade_in</item>
    <item name="android:activityOpenExitAnimation">@anim/anim_fade_out</item>
    <item name="android:activityCloseEnterAnimation">@anim/anim_fade_in</item>
    <item name="android:activityCloseExitAnimation">@anim/anim_fade_out</item>
</style>

<3>最后在AndroidManifest.xml中的application添加android:theme="@style/AnimActivity"就可以了,在application标签中添加则为全局效果,也可以再某个activity添加,则为单独效果

其实网上也有用overridePendingTransition()方法的,我个人不是很喜欢,这个还得写到BaseActivty中做一个全局效果,个人喜欢吧.
简单说下:

overridePendingTransition(int enterAnim,int exitAnim)
//enterAnim:进入时的动画       exitAnim:退出时的动画

注:这个方法必须放在startActivity和finish之后才能调用

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【Android 动画】 动画分类补间动画(Tween动画)帧动画(Frame 动画)属性动画(Property ...
    Rtia阅读 6,230评论 1 38
  • 1 背景 不能只分析源码呀,分析的同时也要整理归纳基础知识,刚好有人微博私信让全面说说Android的动画,所以今...
    未聞椛洺阅读 2,746评论 0 10
  • 动画基础概念 动画分类 Android 中动画分为两种,一种是 Tween 动画、还有一种是 Frame 动画。 ...
    Rtia阅读 1,256评论 0 6
  • Animation Animation类是所有动画(scale、alpha、translate、rotate)的基...
    四月一号阅读 1,936评论 0 10
  • 一: 传统 View 动画(Tween/Frame) 1.1 Tween 动画 主要有 4 中:缩放、平移、渐变、...
    dfg_fly阅读 752评论 1 2