/* 导航界面移动过程中平移动画 左上角的坐标变化
* 上一页移入动画 ((-屏幕宽度,y)----->(0,y))
* 上一页移出动画 ((0,y)----->(屏幕宽度,y))
*
* 下一页移入动画 ((屏幕宽度,y)----->(0,y))
* 下一页移出动画 ((0,y)----->(-屏幕宽度,y))
*
*
* */
之前java代码写动画 现在用资源代码
1 res 目录下建立 anim 文件夹
2 在文件夹上鼠标右键 安卓动画资源文件 (根可选为 alpha(透明或渐变) rotate(旋转) scale(缩放) set(动画集合)translate(平移))
属性代码Demo
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="500"
android:fromXDelta="-100%p"
android:toXDelta="0">
<!-- -100%p 为 负的屏幕宽度 -->
</translate>
xml 布局的调用函数: overridePendingTransition(enter,exit);
例如如果加载上一页 只需把上一页的 移入 移 出 动画作为参数即可
代码demo:
public void prePage(View view){
startActivity(new Intent(getApplicationContext(),Setup3Activity.class));
finish();
// 开启平移动画 参数两个 enterAnim exitanim
overridePendingTransition(R.anim.pre_in_anim,R.anim.pre_out_anim);
}
public void nextPage(View view){
boolean open_sourity = SpUtil.getBoolean(getApplicationContext(),ConstantValue.OPEN_SECURITY,false);
checkBox.setChecked(open_sourity);
if(open_sourity){
startActivity(new Intent(getApplicationContext(),SetupOverActivity.class));
finish();
// 开启平移动画 参数两个 enterAnim exitanim
overridePendingTransition(R.anim.next_in_anim,R.anim.next_out_anim);
// 设置完成 存取记录
SpUtil.putBoolean(this,ConstantValue.SETUP_OVER,true);
}else{
Toast.makeText(this, "请勾选开启手机防盗", Toast.LENGTH_SHORT).show();
}
}
*************************************需要注意的
大众的知识点:
1、Activity的切换动画指的是从一个activity跳转到另外一个activity时的动画
2、在Android的2.0版本之后,有了一个函数来帮我们实现这个动画。这个函数就是overridePendingTransition。
3、这里需要特别说明的是,关于overridePendingTransition这个函数,有两点需要主意
1.它必需紧挨着startActivity()或者finish()函数之后调用"
2.它只在android2.0以及以上版本上适用
3.不过有时候overridePendingTransition 这个函数会不起作用,
总结下,大概是以下三个方面的原因:
3.1、android系统版本2.0以下,这个没办法,想其他办法解决切换动画吧。
3. 2、在ActivityGroup等的嵌入式Activity中,这个比较容易解决,用如下方法就可以了: this.getParent().overridePendingTransition 就可以解决。
3. 3、在一个Activity的内部类中,或者匿名类中,这时候只好用handler来解决了。
3.4、手机的显示动画效果被人为或者其他方式给关闭了 现在打开即可
设置->显示->显示动画效果
自己的心得:自己在学习这块的时候,疑惑最大的就是关于两个参数的讲解,
网上很多都分第一个activity和第二个activity,自己运行以后还是不是很明白,最后决定还是找源码。
从源码可以看出,源码并没有分第一个activity,还是第二个activity,
而是第一个参数(for incoming activity)是对于进入的activity,
第二个参数(for outgoing activity)是对于退出的activity.
Activitytiao跳转动画修改
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 在网上看了许多关于如何去掉Activity动画的blog,我觉得说的仍然不够清晰。 所以我在这边简单画图说明一下:...
- - (void)push { TestViewController *vc = [[TestViewC...