Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >4-AI--Activity跳转动画

4-AI--Activity跳转动画

作者头像
张风捷特烈
发布于 2018-09-26 08:35:42
发布于 2018-09-26 08:35:42
71600
代码可运行
举报
运行总次数:0
代码可运行
零、前言

1.打开RedActivity点击屏幕进入BlueActivity,此时RedActivity左移出,BlueActivity左移入 2.点击返回按钮BlueActivity右移出,RedActivity右移入

默认跳转模式:

Activity默认跳转动画.gif

本案例效果:

Activity跳转动画.gif

一、测试类
1.红色Activity:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class RedActivity extends AppCompatActivity {

    @BindView(R.id.root)
    ConstraintLayout mRoot;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_color);
        ButterKnife.bind(this);
        mRoot.setBackgroundColor(Color.RED);
    }

    @OnClick(R.id.root)
    public void onViewClicked() {
        startActivity(new Intent(this, BlueActivity.class));
        overridePendingTransition(R.anim.open_enter_t,R.anim.open_exit_t);
    }
}
2.蓝色Activity
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class BlueActivity extends AppCompatActivity {

    @BindView(R.id.root)
    ConstraintLayout mRoot;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_color);
        ButterKnife.bind(this);
        mRoot.setBackgroundColor(Color.BLUE);
    }

    @OnClick(R.id.root)
    public void onViewClicked() {
        startActivity(new Intent(this, RedActivity.class));
    }

    @Override
    public void onBackPressed() {
        super.onBackPressed();
        overridePendingTransition(R.anim.close_enter_t, R.anim.close_exit_t);
    }
}

Activity跳转动画.png


二、动画
1.左移出:anim/open_exit_t.xml
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:interpolator="@android:anim/decelerate_interpolator">
    <!--左移出-->
    <translate
        android:duration="500"
        android:fromXDelta="0%p"
        android:toXDelta="-100%p"/>
</set>
2.左移入:anim/open_enter_t.xml
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:interpolator="@android:anim/decelerate_interpolator">
    <!--左移入-->
    <translate
        android:duration="500"
        android:fromXDelta="100%p"
        android:toXDelta="0%p"/>
</set>
3.右移出:anim/close_exit_t.xml
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:interpolator="@android:anim/decelerate_interpolator">
    <!--右移出-->
    <translate
        android:duration="500"
        android:fromXDelta="0%p"
        android:toXDelta="100%p"/>
</set>
4.右移入:anim/close_enter_t.xml
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:interpolator="@android:anim/decelerate_interpolator">
    <!--右移入-->
    <translate
        android:duration="500"
        android:fromXDelta="-100%p"
        android:toXDelta="0%p"/>
</set>
附录、布局文件:layout/activity_color.xml
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    android:id="@+id/root"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".animation.RedActivity">
</android.support.constraint.ConstraintLayout>

三、利用样式来改变Activity跳转动画
1.定义样式:values/styles.xml
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <style name="TranAnim_Activity"
           parent="@android:style/Animation.Activity">
        <item name="android:activityOpenEnterAnimation">@anim/open_enter_t</item>
        <item name="android:activityOpenExitAnimation">@anim/open_exit_t</item>
        <item name="android:activityCloseEnterAnimation">@anim/close_enter_t</item>
        <item name="android:activityCloseExitAnimation">@anim/close_exit_t</item>
    </style>

    <style name="AppThemeTranAnim" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowAnimationStyle">@style/TranAnim_Activity
        </item>
    </style>
2.使用样式:app/src/main/AndroidManifest.xml
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<activity android:name=".animation.RedActivity"
          android:theme="@style/AppThemeTranAnim">
    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>
</activity>
<activity android:name=".animation.BlueActivity"
    android:theme="@style/AppThemeTranAnim">
</activity>

本文由张风捷特烈原创,转载请注明 更多安卓技术欢迎访问:https://www.jianshu.com/c/004f3fe34c94 张风捷特烈个人网站,编程笔记请访问:http://www.toly1994.com

你的喜欢与支持将是我最大的动力

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.08.24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Android全方位性能调优:几种常用界面切换效果
Activity的切换动画指的是从一个activity跳转到另外一个activity时的动画。 它包括两个部分: 一部分是第一个activity退出时的动画; 另外一部分时第二个activity进入时的动画; 在Android的2.0版本之后,有了一个函数来帮我们实现这个动画。这个函数就是overridePendingTransition
Android架构
2019/07/12
1K0
Android全方位性能调优:几种常用界面切换效果
Android动画系列(2)—补间动画
补充: 除了在XML中指定android:layoutAnimation,还可以通过LayoutAnimationController来实现。
八归少年
2022/06/29
8190
Activity动画跳转(overridePendingTransition)
特别说明: 1.它必需紧挨着startActivity()或者finish()函数之后调用 2.它只在android2.0以上版本适用 (包括2.0)
计蒙不吃鱼
2025/06/12
1180
Activity动画跳转(overridePendingTransition)
Android点将台:颜值担当[-Activity-]
张风捷特烈
2024/02/11
1840
Android点将台:颜值担当[-Activity-]
Android动画之View Animation
Android的View animation由四种类型组成:alpha、scale、translate、rotate
码客说
2019/10/22
1.5K0
Android开发之漫漫长途 XVII——动画
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列。该系列引用了《Android开发艺术探索》以及《深入理解Android 卷Ⅰ,Ⅱ,Ⅲ》中的相关知识,另外也借鉴了其他的优质博客,在此向各位大神表示感谢,膜拜!!!
LoveWFan
2018/08/21
4650
Android开发之漫漫长途 XVII——动画
安卓开发_浅谈Android动画(二)
在学习了四个基本动画之后,现在要学习一些更有用的效果 先给出所有的动画xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <set xmlns:andro
听着music睡
2018/06/08
7010
Android:多个Fragment切换问题/切换动画设置
在项目开发中,遇到这样一个问题场景:在某个页面(Fragament)中,点击按钮,进行页面部分的切换,即在一个Fragament中嵌套使用了两个Fragament进行切换。
zstar
2022/06/14
6.9K0
Android:多个Fragment切换问题/切换动画设置
安卓开发_浅谈Android动画(一)
动画效果,针对图片实现 现在学习四种基本的简单动画效果 一、Tween Animation共同属性   1、Duration:动画持续时间(毫秒单位)   2、fillAfter:设置为true,动画转化在动画结束后被应用   3、fillBefore:设置为true,动画转化在动画开始前被应用   4、interpolator:动画插入器(加速,减速插入器)   5、repeatCount:动画重复次数   6、repateMode:顺序重复/倒序重复   7、startOffset:动画之间的时间间隔
听着music睡
2018/05/18
8210
安卓开发_浅谈Android动画(三)
一、LayoutAnimation布局动画 用于为一个layout里面的控件,或者是一个ViewGroup里面的控件设置动画效果 在res-anim文件下新建一个动画xml文件 1 <?xml ve
听着music睡
2018/06/08
6550
Android高级动画(1)
动画在移动App开发中的重要性不言而喻,通俗点讲,动画可以让我们的App界面不那么死板,可以带来酷炫的交互效果,用Material Design专业点的说法,动画是一种高级的用户反馈,对用户操作、选择结果的一种反馈,对程序执行过程的动态展示,对用户视觉和注意力的引导,帮助用户更好地理解App的功能设计,Android5.0新生的动画更是体现出这个理念。所以从这点上说,动画的意义远不止酷炫这一层面。
大公爵
2018/09/05
1.4K0
Android高级动画(1)
Android样式的开发:View Animation篇
drawable汇总篇讲过两个动画,animation-list定义帧动画,animated-rotate定义旋转动画,这两个属于drawable动画。除了drawable动画,Android框架还提供了另外两种动画体系:视图动画(View Animation)和属性动画(Property Animation)。视图动画比较简单,只能应用于各种View,可以做一些位置、大小、旋转和透明度的简单转变。属性动画则是在android 3.0引入的动画体系,提供了更多特性和灵活性,也可以应用于任何对象,而不只是View。本篇先讲视图动画。
Keegan小钢
2018/08/10
1.1K0
Android Animations动画使用详解
Android的animation由四种类型组成:alpha、scale、translate、rotate
阳光岛主
2019/02/19
7070
A012-Anim资源
anim资源这里特指Android中的View Animation(视图动画),然而视图动画分为: Tween Animation(补间动画) Frame Animation(逐帧动画) Tween
巫山老妖
2018/07/20
2970
自定义View(二)-动画- 代码生成View动画
上篇我们介绍了视图动画,说的确切点应该是视图动画中的补间动画(Tween Animation),关于逐帧动画(Frame Animation)用法更简单,这里先不做介绍后期再自定义View的使用会用到,到时候讲解。这篇我们来一起学习将上篇用XML实现的动画用试着用代码来生成,毕竟有些时候我们是用代码来控制动画的。
g小志
2018/09/11
6540
自定义View(二)-动画- 代码生成View动画
Android开发(10) 动画(Animation)
1.准备一个animation对象,改对象可以看作是个动画对象,它描述(封装)了什么样式的动画。 我们可以在代码里手动创建这些对象,对应的4个animaiton对象类:
张云飞Vir
2020/03/16
6520
Animation用法_animation动画效果
Animation主要有两种动画模式: 一种是tweened animation(渐变动画)
全栈程序员站长
2022/07/20
1.6K0
android 补间动画
android开发过程中,为了更好的展示应用程序,应用程序添加动画,能够很好地实现这个功能。如果动画中的图像变化有一定的规律,可以采用自动生成图像的方式来生成动画,例如图像的移动、旋转、缩放等。自动生成中间图像的动画,补间动画,只需指定第一帧和最后一帧。 补间动画的优点是节省硬盘空间,缺点是,无法生成复杂的动画。本文主要介绍经常用到的四种补间动画:移动、缩放、旋转、透明度。 1.移动补间动画 移动是比较常见的动画效果。通过xml文件或者java代码能够实现补间动画的移动效果。在res/anim,文件中新建t
水击三千
2018/02/27
8190
墨迹天气3.0引导动画
 实现墨迹天气向上滑动的viewpager使用的开源库ViewPager-Android。ViewPager-Android开源库设置app:orientation定义滑动方向。     墨迹天气引导
xiangzhihong
2018/01/29
1.1K0
Android中的动画
在Android程序设计过程中,除了使用简单的按钮、文本框等简单控件来构建基本界面,我们还可以通过为界面添加动画效果,使得界面更加变得更加绚丽,更加吸引人。Android平台也提供了一套完整的动画框架,使得开发者可以用它开发出各种动画效果。
张哥编程
2024/12/17
4400
Android中的动画
相关推荐
Android全方位性能调优:几种常用界面切换效果
更多 >
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验