activity的打开关闭动画
Activity的打开关闭或者说相互跳转之间可以设置动画的。默认的打开关闭直接消失或出现,比较不优美,但是有的手机Rom对这个默认做了修改,比如红米HM1,默认的就是新页面自右向左滑动出现,自左向右滑动消失。
设置动画有两种方法:
1。利用Activity的方法在代码中设置:
public void overridePendingTransition (int enterAnim, int exitAnim)
Call immediately after one of the flavors ofstartActivity(Intent)
orfinish()
to specify an explicit transition animation to perform next.
enterAnimA resource ID of the animation resource to use for the incoming activity. Use 0 for no animation.
exitAnimA resource ID of the animation resource to use for the outgoing activity. Use 0 for no animation.
enterAnimA在此Actvity是将要出现的Activity时的进入动画。
exitAnimA在此Actvity是当前将要退出的Activity时的退出动画。
这个方法一定要在activity的start和finish之后立即调用。
@Override
public void finish() {
super.finish();
if (isCloseAnim) {
this.overridePendingTransition(0, R.anim.activity_out_to_up);
} }
finish
Intent intent = new Intent(context, QuizActivity.class);
intent.putExtra(EXTRA_SCHEME_ID, schemeId);
context.startActivity(intent);
//设置切换动画,自下而上进入,自上而下退出
((Activity) context).overridePendingTransition(R.anim.activity_in_from_down, 0);
start
2。设置Activity的主题风格,在xml中实现:
在AndroidManifest里面,对于application和activity标签可以定义theme属性。如果对Application定义了某一个属性,那么会对所有的activity产生影响,当然可以在activity中覆盖它,为这个Activity添加自己的特定属性。
<application android:theme="@style/ThemeActivity">
然后在values/themes.xml中定义ThemeActivity这个主题
<style name="ThemeActivity" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowAnimationStyle">@style/AnimationActivity</item>
<item name="android:windowNoTitle">true</item>
</style>
在values/styles.xml中定义AnimationActivity的style
<style name="AnimationActivity" parent="@android:style/Animation.Activity" >
<item name="android:activityOpenEnterAnimation">@anim/push_left_in</item>
<item name="android:activityOpenExitAnimation">@anim/push_left_out</item>
<item name="android:activityCloseEnterAnimation">@anim/push_right_in</item>
<item name="android:activityCloseExitAnimation">@anim/push_right_out</item>
</style>
至于anim中的动画在res/anim下用xml的set属性定义好就可以了。各个动画item的意义如下:
android:activityCloseEnterAnimation When closing the current activity, this is the animation that is run on the next activity (which is entering the screen). android:activityCloseExitAnimation When closing the current activity, this is the animation that is run on the current activity (which is exiting the screen). android:activityOpenEnterAnimation When opening a new activity, this is the animation that is run on the next activity (which is entering the screen). android:activityOpenExitAnimation When opening a new activity, this is the animation that is run on the previous activity (which is exiting the screen).
Dialog和PopupWindow也可以设置动画。
比如在定义PopupWindow时指定动画:
setAnimationStyle(R.style.mypopwindow_anim_bottom_style);
activity的打开关闭动画的更多相关文章
- 设置Activity显示和关闭时的动画效果
设置Activity显示和关闭时的动画效果 通过overridePendingTransition方法可以设置Activity显示和关闭的动画效果.首先需要在res/anim目录中建立相应的动画资源文 ...
- 两个activity的3D翻转动画.md
一.业务需求 这里在公司项目设计时,用到了一个小的需求,就是点击一个按钮然后整个activity的页面进行3d翻转; 二.设计思路 由于是2个activity的之间的翻转动画,就意味着前90度是A页面 ...
- Activity Fragment转场动画
Activity转场动画 先介绍个动画的好例子:https://github.com/lgvalle/Material-Animations Activity的转场动画是通过overridePendi ...
- activity fragment 转场动画
http://www.cnblogs.com/avenwu/p/3372736.html v4 fragment fragmentTransaction.setCustomAnimations(R.a ...
- Android零基础入门第74节:Activity启动和关闭
上一期我们学习了Activity的创建和配置,当时留了一个悬念,如何才能在默认启动的Activity中打开其他新建的Activity呢?那么本期一起来学习如何启动和关闭Activity. 一.概述 经 ...
- 通过暗码去打开/关闭usb debug开关
通过暗码去打开/关闭usb debug开关 通过暗码去打开/关闭usb debug开关1. Description2. Analysis3. Solution4. Summary 1. Descrip ...
- CentOS7使用firewalld打开关闭防火墙与端口(转载)
1.firewalld的基本使用 启动: systemctl start firewalld 查看状态: systemctl status firewalld 停止: systemctl disabl ...
- deepin gala窗口管理器关闭动画
deepin中有两个管理器,一个基于metacity,另一个基于gala,可以用super+tab来进行切换.metacity是不带动画的,而 gala是带动画效果的.但这里有个问题,不知道有些同学上 ...
- Android activity界面跳转动画
实现activity界面跳转动画 1.在startActivity方法之后加入: overridePendingTransition(R.anim.pull_in_right, R.anim.pull ...
随机推荐
- 字符编码知识:Unicode、UTF-8、ASCII、GB2312等编码之间是如何转换的?
转自: http://apps.hi.baidu.com/share/detail/17798660 字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得字符编码的知识.不注意的人可能对这个不 ...
- linux学习之(四)-用户、组的操作,给文件文件夹设置组,更改目录权限、文件权限
命令帮助查看: man 命令(查看一个命令的详细帮助信息) 例:man useradd 或者用 -h 格式 命令 -h(查看一个命令的简要帮助) 例:useradd -h 用户: 在user ...
- android listview 三种适配器设置
1: public class ArrayAdapterActivity extends ListActivity { @Override public void onCreate(Bundle sa ...
- UART串口协议基础1
Louis kaly.liu@163.com 串口协议基础 1 串口概述 串口由收发器组成.发送器是通过TxD引脚发送串行数据,接收器是通过RxD引脚接收串行数据. 发送器和接收器都利用了一个移位寄存 ...
- CentOS安装maven3.2.2(Linux系列适用)
首先,下载最新的maven3.2.2,地址:http://mirrors.cnnic.cn/apache/maven/maven-3/3.2.2/binaries/apache-maven-3.2.2 ...
- 浅谈树链剖分(C++、算法、树结构)
关于数链剖分我在网上看到的有几个比较好的讲解,本篇主要是对AC代码的注释(感谢各位witer的提供) 这是讲解 http://www.cnblogs.com/kuangbin/archive/2013 ...
- Matlab工程
1.matlab设置默认路径 在原来的默认路径(bin)下创建一个名为startup.m的文件,内容为相对路径 cd ..\..\WorkSpace\ 或绝对路径 cd F:\Program\MATL ...
- swift和objc之對比
http://mobidev.biz/blog/swift_how_we_code_your_ios_apps_twice_faster
- JavaWeb基础之tomcat部署
有些东西,看起来简单,做起来也简单,简单的你并不一定知道! 问题:如何将一个java project转变为 web project,并使其自动部署到tomcat? 1.先建立一个Java Projec ...
- QT显示GIF图片
在QT中要显示GIF图片,不能通过单单的添加部件来完成. 还需要手动的编写程序. 工具:QT Creator 新建一个工程,我们先在designer中,添加一个QLabel部件. 如下图: 将QLab ...