1.Android 中的动画有哪几类,它们的特点和区别是什么
Android 中的动画主要有Frame Animation(帧动画)、Tween Animation(补间动画)、Property Animation(属性动画) 3种。
1、Frame Animation(帧动画)主要用于播放一帧帧准备好的图片,类似GIF图片,优点是使用简单方便、缺点是需要事先准备好每一帧图片;2、Tween Animation(补间动画)仅需定义开始与结束的关键帧,而变化的中间帧由系统补上,优点是不用准备每一帧,缺点是只改变了对象绘制,而没有改变View本身属性。因此如果改变了按钮的位置,还是需要点击原来按钮所在位置才有效。
3、Property Animation(属性动画)是3.0后推出的动画,优点是使用简单、降低实现的复杂度、直接更改对象的属性、几乎可适用于任何对象而仅非View类,主要包括ValueAnimator和ObjectAnimator
2.如何修改 Activity 进入和退出动画
可 以 通 过 两 种 方 式 , 一 是 通 过 定 义 Activity 的 主 题 , 二 是 通 过 覆 写 Activity 的overridePendingTransition 方法。
1.1、通过在styles.xml设置主题样式 ;
1.2、把设置好的主题样式添加到themes.xml文件中。
1.3 在AndroidManifest.xml中给Activity指定theme。
2. 覆写 overridePendingTransition 方法
overridePendingTransition(R.anim.fade,R.anim.hold);
3.属性动画,例如一个 button 从 A 移动到 B 点,B 点还是可以响应点击事件,这个原理是什么?
补间动画只是显示的位置变动,View 的实际位置未改变,表现为 View 移动到其他地方,点击事件仍在原处才能响应。而属性动画控件移动后,事件相应就在控件移动后本身进行处理