Android Activity切换动画

前言

  • 每一位做Android移动开发的都知道,一般正常项目的Activity数量都是不在少数的,Activity之间的切换也是一个比较频繁的操作
  • 为了提高用户体验,为了让Activity之间的切换效果变得更加炫酷,最重要的是为了能方便以后的开发(偷懒),学习一下Android内置的切换动画是必然的

一、普通动画

系统内置过渡动画

动画名称 解析
Slide 滑动过渡动画
Explode 爆炸过渡动画
Fade 透明度渐变过渡动画

属性

  • setDuration(long duration)
    设置动画持续时间

不过我一般很少去设置持续时间,因为我觉得使用系统默认的持续时间就行了,所以也没必要再去设置了,有些情况例外

使用

  • 这里以Slide滑动动过渡画为例,另外的两个过渡动画的用法也是一样的

第一步:设置支持
Transition(过渡动画)

方式一

  • 请在主题中添加
<item name="android:windowContentTransitions">true</item>

方式二

  • 请写在setContentView之前
getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);

第二步:加载动画

方式1

  • 新建一个xml文件
    slide.xml
<?xml version="1.0" encoding="utf-8"?>
<slide
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:slideEdge="left"/>
  • 然后在java代码中加载动画
  • 这里使用了TransitionInflater(过渡动画加载器)来加载动画资源,就和我们平时用来加载布局的LayoutInflater差不多
Transition slide = TransitionInflater.from(Context).inflateTransition(R.anim.slide);

方式2

  • 直接创建一个Slide对象就行了,相信大家应该都会更喜欢这种方式吧!
Slide slide=new Slide();
slide.setSlideEdge(Gravity.LEFT);

第三步:设置动画

//进入动画
getWindow().setEnterTransition(slide);
//退出动画
getWindow().setExitTransition(slide);

第四步:启动动画

  • 现在,我们当前的Activity就已经有了动画效果,但如果你使用原来的Activity切换方式的话你会发现它还是没有任何变化
  • 怎么办呢?其实我们只要修改一下启动Activity和销毁Activity的方式就可以了
  • 说明一下:ActivityOptionsCompat是v4包下的,使用它的话,我们就不用再去做系统版本判断了

启动activity


                
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值