Android 属性动画学习
来源:互联网 发布:网络鲜花销售 编辑:程序博客网 时间:2024/06/17 09:12
由于android 3.0之前的 动画框架存在一定的局限--动画改变的只是显示,不能响应时间,所以3.0后google提出了属性动画
这样一个新的动画框架。
在animator中使用最多的就是AnimatorSet和ObjectAnimator,使用ObjectAnimator进行更精准的控制,只控制对象的一个属性值,而使多个ObjectAnimator组合到AnimatorSet形成一个动画,可以调用setFrameDelay设置动画帧之间的间隙时间
ObjectAnimator是属性动画中最重要的实行类,创建一个ObjectAnimator只需通过他的静态工厂类直接返回一个对象
一个简单的平移动画
TextView tv = (TextView) findViewById(R.id.heheda);
//平移动画
ObjectAnimator animator = ObjectAnimator.ofFloat(
tv,
"translationX",
300
);
animator.setDuration(300);
animator.start();
在使用ObjectAnimator的时候,操作的属性必须有get,set方法,不然无法起效
*translationX和 translationY:这两个属性作为一个增量来控制View从他布局容器的左上角偏移的位置
*rotaion rotionX和rotaionY :这三个属性控制View对象围绕他的支点进行2D缩放
*pivotX和pivotY:这两个属性控制View对象支点的位置,围绕这个支点进行缩放旋转处理
*alpha:表示view的alpha透明程度默认1(不透明) 0(完全透明)
*x和y最简单的两个实用的属性描述了view在父容器中最终的位置
PropertyValuesHolder
如果只对一个对象的多个属性,要同时作用多种都能动画可以使用PropertyvaluesHolder
PropertyValuesHolder pv1 = PropertyValuesHolder.ofFloat("translationX",300f);
PropertyValuesHolder pv2 = PropertyValuesHolder.ofFloat("scaleX",10f,5f,10f);//开始x,到x,结束x
PropertyValuesHolder pv3 = PropertyValuesHolder.ofFloat("scaleY",10f,5f,10f);
ObjectAnimator.ofPropertyValuesHolder(tv,pv2,pv3).setDuration(5000).start();
//ValueAnimator本身不提供任何动画效果,它更像一个数值器,用来生产有一定规律的数字,从而让调用者来控制动画实现过程
//在ValueAnimator的AnimatorUpdateListener中监听数值的变化
final ValueAnimator valueAnimator = ValueAnimator.ofFloat(0,100);
valueAnimator.setTarget(tv);
valueAnimator.setDuration(3000);
valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
Float value = (Float) valueAnimator.getAnimatedValue();
}
});
//一个完整动画于start repeat ed cancel四个过程功过android提供的四个接口
//可以很方便的监听到这四个监听事件
ObjectAnimator animator = ObjectAnimator.ofFloat(tv,"alpha",0.5f);
animator.addListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
}
@Override
public void onAnimationEnd(Animator animation) {
}
@Override
public void onAnimationCancel(Animator animation) {
}
@Override
public void onAnimationRepeat(Animator animation) {
}
});
}
0 0
- Android 属性动画学习
- Android属性动画学习
- 【android学习】属性动画学习
- Android属性动画学习笔记
- android动画之属性动画学习
- Android 动画---property(属性)动画学习
- android动画学习(二)之属性动画
- Android动画学习-视图动画&属性动画(一)
- Android动画学习-视图动画&属性动画(二)
- Android动画学习(四)之属性动画学习
- Android动画--属性动画
- android动画 -- 属性动画
- Android动画-属性动画
- Android动画【属性动画】
- Android动画--属性动画
- Android学习之 属性动画<Property Animation>
- 《转载》android 属性动画Property Animation学习
- Android属性动画的学习_ObjectAnimator
- UIView生命周期(控制器中函数的执行顺序)
- poj-1062-昂贵的聘礼
- 禁用iOS中的电话号码自动识别
- 贪心1013
- Atitit。监听键盘上下左右方向键事件java js jquery c#.net
- Android 属性动画学习
- 即时动作类网络卡牌游戏开发真的很难
- 宜信笔试题 把m升水倒入n个杯子
- nrf51822 --- 特征值添加描述
- 创建二维码
- 第五周上机实践项目2(2):游戏中的角色类
- 转载知乎一篇关于大数据生态技术的文章
- Math
- bzoj 1060(贪心+树形DP)