企业级项目,给布局的弹出与隐藏添加动画
来源:互联网 发布:centos配置wifi 编辑:程序博客网 时间:2024/05/10 01:00
使用LayoutTransition类在ViewGroup内部处理布局变化的动画。当调用一个View对象的setVisibility()方法,或者设置该View的GONE常量,或者把该View对象添加到ViewGroup中(或者从ViewGroup中删除)时,在ViewGroup内部的View对象就能够实现时隐时现的动画效果。当在ViewGroup对象中添加或删除View对象时,其中的其他View对象也能够动画移动到新的位置。在LayoutTransition对象内通过调用setAnimator()方法,并且在传递给该方法的Animator对象参数中带有下列LayoutTransition常量之一,就能够定义该常量所代表的动画:
1. APPEARING---一个标记,它指示要在容器中正在显示的项目上运行动画;
2. CHANGE APPEARING---一个标记,它指示在容器中由于新项目的出现而导致其他项目变化所要运行的动画;
3. DISAPPEARING---一个标记,它指示一个从容器中消失的项目所要运行的动画;
4. CHANGE_DISAPPEARING---一个标记,它指示由于一个项目要从容器中消失而导致其他项目的变化,所要运行的动画。
能够给这四种事件类型定义自定义动画,以便定制自己的布局过渡效果,也可以告诉动画系统只使用默认的动画效果。
在APIDemo中的LayoutAnimations示例,显示了如何给布局的过渡定义动画效果,并且在想要动画效果的View对象上设置动画。
LayoutAnimationsByDefault类以及它对应的layout_animations_by_default.xml布局资源文件显示了如何在XML中启用ViewGroup对象的默认布局过渡效果。需要做的事情仅仅是把ViewGroup元素的android.animateLayoutchanges属性设置为true。例如:
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/verticalContainer"
android:animateLayoutChanges="true" />
如果把这个属性设置为true,那么在该ViewGroup对象中添加或删除View对象,以及ViewGroup对象中其他的View对象都会自动的具有动画效果。
使用TypeEvaluator www.2cto.com
如果想要的动画类型是Android系统所未知的,那么通过实现TypeEvaluator接口就能够创建自己的评价器。Android系统已知的类型是int、float或颜色(color),分别有IntEvaluator、FloatEvaluator和ArgbEvaluator类型的评价器所支持。
在TypeEvaluator接口中只有一个要实现的方法:evaluate()方法。这个方法允许正在使用的动画处理器返回一个适用于于当前动画时点动画属性值,FloatEvaluator类演示了这个方法是如何做这件事的:
public class FloatEvaluator implements TypeEvaluator {
public Object evaluate(float fraction, Object startValue, Object endValue) {
float startFloat = ((Number) startValue).floatValue();
return startFloat + fraction * (((Number) endValue).floatValue() - startFloat);
}
}
注意:当ValueAnimator对象(或ObjectAnimator对象)运行时,它会计算当前的动画过去因子(一个0到1之间的值),然后根据你所使用的插值类型来计算一个要插入的动画的版本。插值因子是由TypeEvaluator对象通过fraction参数接收来的,因此在计算动画值的时候,不需要考虑插值。
- 企业级项目,给布局的弹出与隐藏添加动画
- 213.m1-至动画实现布局的显示与隐藏
- android布局中子View添加动态隐藏和显示的动画效果。(LayoutTransition)
- UIAlertView 显示 与 UITextFileld/UITextView 键盘弹出隐藏动画异常
- 动画的显示与隐藏
- IOS为view的隐藏添加动画
- 为view的隐藏添加动画
- IOS为view的隐藏添加动画
- android 动画 弹出动画 控件 布局 动画
- PopWindow弹出及隐藏动画
- 给View 添加不停闪烁的动画
- JS弹出层的显示与隐藏
- android 键盘的弹出与隐藏
- 给TableViewCell添加动画
- 给cell添加动画
- [Unity动画]给人物模型添加简单的动画
- jQquery :animated 给没有动画效果的元素添加动画
- android布局中显示隐藏控件的动画
- UVA LIVE-4642 - Malfatti Circles
- fpga的驱动调试dev_dbg 无输出
- mybatis 异常:Invalid bound statement (not found) .
- win7 打开plsql登录不上显示空白提示框解决办法
- 转意符号 语句的嵌套 for 习题 break continue
- 企业级项目,给布局的弹出与隐藏添加动画
- ios开发遇到的问题
- DirectX 9.0c游戏开发手记之RPG编程自学日志之13: Drawing with DirectX Graphics (用DirectX图形绘图)(第6节)
- ios开发遇到的问题1
- 我的(码农)的知识体系结构
- 如何用Java编写一段代码引发内存泄露
- 为您的Web项目构建一个简单的JSON控制器
- DirectX 9.0c游戏开发手记之“龙书”第二版学习笔记之10: Chap12: Blending
- a pair of