Android 笔记 transition 补充 --content transition / activity transition

这篇博客探讨了Android中的Content Transition和Activity Transition,强调了Content Transition如何处理子View的动画,并指出在布局中设置特定属性可以使ViewGroup作为一个整体应用Transition。同时,文章提到了在存在ActionBar和StatusBar时可能出现的问题及解决方案,并介绍了Android 2.0中设置Activity动画的旧方法和XML动画的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Content Transition

探索安卓中有意义的动画!

深入理解Content Transition
深入理解共享元素变换(Shared Element Transition)

之前有了解过transition,可以设定activity的转换动画。但是总觉得有点奇怪。因为官方api定制的activity转换动画用来设置到transition上的就只有3个,slide,explode,fade,并且这些动画是分别(并且分开)作用到子view上的。
Android Transition

后来了解到,这个东西实际上叫content transition,也就是说,在应用之前,会遍历所有子view,然后分开设置transition。正如上面链接里面看到的。

如果要设置当前viewgroup应用transition的时候作为一个整体进行,可以在layout里面设置这么一个属性
android:transitionGroup="true"
那么,在应用的时候就不会遍历寻找子view,而是对整个viewgroup应用transition。

注意,
有一个问题。如果存在actionbar,那么依然会和主要界面分离开,分别引用transition。如果用toolbar替换之,那么就不会分离了。
但是,最上面的statusbar,也就是显示点亮,信号,通知的那一条,也会分开引用transition。需要在transition中设置exclude才能屏蔽之。
slide.excludeTarget(android.R.id.statusBarBackground,true);
像这样。

activity transition

还有一个比较古老的解决办法。
Android 2.0 里面增加了一个方法
void overridePendingTransition (int enterAnim, int exitAnim)

看名字就知道,设置的是进入和退出动画,用指定的资源文件填充了默认情况下的动画效果。
注意一点,这个方法必须紧跟在startActivity()或者finish()方法后面调用,才有效果。

而这里面设置的两个anim,就是用xml文件定义的animation。

Android实现Activity界面切换添加动画特效的方法

在style里面设定:
Android 设置 Activity 切换动画

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值