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 ...
随机推荐
- hdu 5584 LCM Walk(数学推导公式,规律)
Problem Description A frog has just learned some number theory, and can't wait to show his ability t ...
- Log4Net不生成日志文件
可能没有初始化配置,在Global文件Application_Start添加 log4net.Config.XmlConfigurator.Configure(); 或者输出日志进行初始化,如(Log ...
- Oracle初级入门 根据某字段重复只取一条记录,并计计算重复条数
在平常开发中,去重复数据经常使用到,本人新手,接触Oracle也不久,开发中用到的小知识点,记录一下,老鸟可绕道,如果有写错的,请指正. 去重复记录可以使用distinct,当只查询一列数据时,可以轻 ...
- DevExpress学习1
为了程序的美观设计,决定用dev控件. 第一步,去官网下载了试用30天的安装包,官网地址:https://www.devexpress.com/,安装完成. 第二步,开始程序下找到DevExpress ...
- 前端入门HTML5扩展知识(一)
一. 请描述一个网页从开始请求到最终显示的完整过程? 1. 在浏览器中输入网址: 2. 发送至 DNS 服务器并获得域名对应的 WEB 服务器的 IP 地址: 3. 与 WEB 服务器建立 TC ...
- 使用EXTEND方式来分段处理大表的搬数据
创建一个表: 记录rowid的分区段并作为处理的日志表: DROP TABLE DEAL_TABLE_EXTENT; CREATE TABLE DEAL_TABLE_EXTENT(seq ...
- ORA-32001: 已请求写入 SPFILE, 但是在启动时未指定 SPFILE
SQL> alter system set smtp_out_server='smtp.126.com' scope=both;alter system set smtp_out_server= ...
- IE下的bug
断断续续的在开发过程中收集了好多的bug以及其解决的办法,都在这个文章里面记录下来了!希望以后解决类似问题的时候能够快速解决 ,也希望大家能在留言里面跟进自己发现的ie6 7 8bug和解决办法! 1 ...
- 加密传输SSL协议7_SSL协议概述
SSL(Secure Sockets Layer) SSL的功能,可以在通信的双方中建立一个加密的通信通道 同时还可以确认通信的双方是不是就是其声称的人,防止被钓鱼. SSL在网络协议栈中的位置:可以 ...
- Android:res之selector背景选择器
selector根据不同的选定状态来定义不同的现实效果 常用属性: android:state_selected--------选中android:state_focused--------获得焦点a ...