Android四大组件——Activity跳转动画、淡出淡入、滑出滑入、自定义退出进入
Activity跳转动画、淡入淡出、滑入滑出、自定义退出进入
前言:
系统中有两个定义好的Activity跳转动画:fade_in、fade_out、slide_in_left、slide_out_right
其中运用到了插值器的知识点,这里也会简单的介绍插值器的几个功能
跳转动画用到的是Activity中的overridePendingTransition这个方法进行跳转
知识点介绍:
overridePendingTransition(int enterAnim,int exitAnim)参数1:进入时的动画、参数2:退出时的动画
注:这个方法必须放在startActivity和finish之后才能调用
常见的插值器:
LinearInterpolator:线性插值器,匀速运动;
AccelerateDecelerateInterpolator:加速减速插值器,动画两头慢中间快;
DecelerateInterpolator:减速插值器,动画越来越慢;
fade_in与fade_out:
public void in(View v) {
startActivity(new Intent(this, SecondActivity.class));
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
}
public void out(View v) {
finish();
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
}


slide_in_left与slide_out_right:
public void in(View v) {
startActivity(new Intent(this, SecondActivity.class));
overridePendingTransition(android.R.anim.slide_in_left, android.R.anim.slide_out_right);
}
public void out(View v) {
finish();
overridePendingTransition(android.R.anim.slide_in_left, android.R.anim.slide_out_right);
}


聪明的你可能会想到,如果我们两个合起来,可以不?答案是可以的
public void in(View v) {
startActivity(new Intent(this, SecondActivity.class));
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
overridePendingTransition(android.R.anim.slide_in_left, android.R.anim.slide_out_right);
}
public void out(View v) {
finish();
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
overridePendingTransition(android.R.anim.slide_in_left, android.R.anim.slide_out_right);
}


会思考的你可能会想到,可不可以我们自己来做一个我们的自己的动画呢?答案是可以的
在res文件下创建一个anim的文件夹,专门存放我们的动画xml文件
anim_in.xml与anim_out.xml:(zAdjustment="top"意思是强制将我们的执行动画Activity放在最上层)
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator">
<scale android:fromXScale="2.0" android:toXScale="1.0"
android:fromYScale="2.0" android:toYScale="1.0"
android:pivotX="50%p" android:pivotY="50%p"
android:duration="@android:integer/config_mediumAnimTime" />
</set>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator"
android:zAdjustment="top">
<scale android:fromXScale="1.0" android:toXScale=".5"
android:fromYScale="1.0" android:toYScale=".5"
android:pivotX="50%p" android:pivotY="50%p"
android:duration="@android:integer/config_mediumAnimTime" />
<alpha android:fromAlpha="1.0" android:toAlpha="0"
android:duration="@android:integer/config_mediumAnimTime"/>
</set>
public void in(View v) {
startActivity(new Intent(this, SecondActivity.class));
overridePendingTransition(R.anim.anim_in,R.anim.anim_out);
} public void out(View v) {
finish();
overridePendingTransition(R.anim.anim_in,R.anim.anim_out);
}


Android四大组件——Activity跳转动画、淡出淡入、滑出滑入、自定义退出进入的更多相关文章
- (转)Android四大组件——Activity跳转动画、淡出淡入、滑出滑入、自定义退出进入
文章转自:http://blog.csdn.net/qq_30379689/article/details/52494270 Activity跳转动画.淡入淡出.滑入滑出.自定义退出进入 前言: 系统 ...
- Android四大组件——Activity
Activity作为Android四大组件之一,也是其中最重要的一个组件.作为一个与用户交互的组件,我们可以把Activity比较成为windows系统上的一个文件夹窗口,是一个与用户交互的界面.再进 ...
- Android四大组件——Activity——Activity之间通信上
Activity之间的跳转有显式意图和隐式意图两种. 显式意图(显式Intent): //创建一个Intent对象,明确Intent跳转时的源Activity和目标Activity.参数一为当前Act ...
- Android 四大组件(Activity、Service、BroadCastReceiver、ContentProvider)
转载于:http://blog.csdn.net/byxdaz/article/details/9708491 http://blog.csdn.net/q876266464/article/deta ...
- Android四大组件——Activity——Activity的生命周期
Activity状态: 每个Activity在其生命周期中最多可能有四种状态 1.运行状态:处于栈顶时.初次创建处于栈顶时依次调用:onCreate(),onStart(),onResume().由不 ...
- Android四大组件——Activity——Activity数据回传
既然可以传递数据给下一个Activity,自然也可以返回数据给上一个Activity.返回上一个Activity时只需要点击back键就好,并没有一个用于启动Activity的Intent来传递数据, ...
- Android四大组件——Activity——Activity之间通信下
显式意图:一般是用于应用内组件跳转.(如从ActivityA跳转到ActivityB) 隐式意图:一半用于应用之间的跳转.(如从ActivityA跳转到拨号) 隐式意图跳转到百度: 只需将前面Main ...
- Android四大组件-Activity
http://android.tgbus.com/Android/androidnews/201204/419485.shtml
- 【原创】Android 从一个Activity跳转到另外一个Activity
Android四大组件activity使用,实现两个activity之间的跳转 基本流程:创建两个activity-将其中一个activity中组件作为事件源-通过组件事件的处理借助intent对象实 ...
随机推荐
- AcWing 38. 二叉树的镜像
习题地址 https://www.acwing.com/solution/acwing/content/2922/ 题目描述输入一个二叉树,将它变换为它的镜像. 样例 输入树: / \ / \ / \ ...
- testlink 1.9.13之后版本,将动作默认显示
最近升级了testlink,从低版本升级到1.9.14,而作为用户来说,改变了用户习惯,感觉不太好,其中有一个用户习惯是,点击某一条用例或测试集时,要点击动作才能显示实际的内容,如下: 每次都点击很不 ...
- pptpd pptpctrl[25553]: segfault at 0 ip 00007fb6fe23ebdc sp 00007ffdef6334e8 error 4 in libc-2.17.so[7fb6fe0dd000+1c2000] pptp拨号连接失败
以下是一次记录pptpd vpn无法连接后的心酸历程: pptp client拨号发现一直无响应,查看日志 因为pptpd服务端是一台高质量公网地址,所以平时拨入vpn连接都非常快,今天发起拨 ...
- Intellij Idea 星云常用配置工具箱
1. 软件配置篇 1.1 关闭默认打开最近的工程选项 1.2. 修改快捷键 1.3 修改字体 1.4 创建类模板 效果如下: 1.5 创建接口模板 效果同上 2. 插件篇 1.1 省略Getter a ...
- Office Tool Plus 安装Office
Office Tool Plus 是一款集office 卸载安装管理,激活等多功能于一体的神器. 官网:https://otp.landian.vip/en-us/ 下载 安装 值得注意的是Retai ...
- Linux中fork()函数详解(转载)
linux中fork()函数详解 一.fork入门知识 一个进程,包括代码.数据和分配给进程的资源.fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事, ...
- 【Gamma】Scrum Meeting 8
前言 会议定点:大运村公寓 会议时间:2019/6/7 会议目的:分配任务,准备宣传 一.任务进度 组员 上周任务进度 下阶段任务 大娃 辅助做好引导录屏 优化辅助模型 二娃 撰写会议博客 撰写会议博 ...
- SpringMvc通过controller上传文件代码示例
上传文件这个功能用的比较多,不难,但是每次写都很别扭.记录在此,以备以后copy用. package com.**.**.**.web.api; import io.swagger.annotatio ...
- 使用Ajax (put delete ) django原生CBV 出现csrf token解决办法
原因 django原生CBV中对于 Ajax put 或 delete 请求进行封装时,会把请求数据放在 request.body里, 所以获取不到csrf token 方式一: 关闭csrf 中间件 ...
- logstash设置开机自启动
本篇文件前提是在centos7.6上使用rpm包安装的logstash,添加systemd方式启动. #默认为rpm包安装,进行执行目录 cd /usr/share/logstash/bin/ #系统 ...