Animation zoomIn = AnimationUtils.loadAnimation(this,R.anim.zoom_in);
txtIdentifying.setVisibility(View.VISIBLE);
txtIdentifying.startAnimation(zoomIn);
一般用于出现,消失好像效果不好;
2.activity跳转时
startActivity();
overridePendingTransition(R.anim.activity_start_in,R.anim.activity_start_out);
finish();
overridePendingTransition(R.anim.activity_finish_in,R.anim.activity_finish_out);
用于activity跳转,前一个是跳过去,第二个是结束activity返回效果;
3.objectAnimator代码实现
AnimatorSet set = new AnimatorSet();
ObjectAnimator alpha_pic = ObjectAnimator.ofFloat(mRel, "alpha",0, 1);
ObjectAnimator tranY_pic = ObjectAnimator.ofFloat(mRel,"translationY",
this.getHeight() + this.getHeight() / 2, 0);
ObjectAnimator scaleX = ObjectAnimator.ofFloat(mRel, "scaleX",0.1f, 1);
ObjectAnimator scaleY = ObjectAnimator.ofFloat(mRel, "scaleY",0.1f, 1);
set.setDuration(300);
set.playTogether(alpha_pic, tranY_pic, scaleX, scaleY);
set.start();
这里 第二个参数 常用的有"alpha","translationY","translationX","translationY","rotationX","rotationY","scaleX","scaleY".
4.xml和代码一起实现objectAnimator
<?xml version="1.0" encoding="utf-8"?>
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="2000"
android:propertyName="scaleX"
android:repeatCount="1"
android:repeatMode="reverse"
android:valueFrom="1.0"
android:valueTo="2.0" >
</objectAnimator>
ObjectAnimator scaleAnimator = (ObjectAnimator) AnimatorInflater
.loadAnimator(this, R.animator.scale_object_animator);
scaleAnimator.setTarget(imageview_scale);//设置动画作用的目标对象
scaleAnimator.setDuration(1000);
scaleAnimator.setRepeatCount(50);
scaleAnimator.start();
这个propertyName后面填的值解释
accessibilityLiveRegion,setAccessibilityLiveRegion(int)
辅助性服务是否应自动通知更改视图的内容描述或文本,或者子view的文字描述或文本内容;(none——不通知、polite——通知、assertive——打断语音,并通知)
超时的动画帧之间的毫秒 ;必须是一个整数值,如“100”
ems
设置TextView或者Edittext的宽度为10个字符的宽度。当设置该属性后,控件显示的长度就为10个字符的长度,超出的部分将不显示.
disabledAlpha
设置按钮在禁用时透明度
android:stepSize
评分的步长,必须是浮点类型,像“1.2”
5.Animation和Animator区别
Animation 是针对视图外观的动画实现,动画被应用时外观改变但视图的触发点不会发生变化,还是在原来定义的位置。
Animator 是针对视图属性的动画实现,动画被应用时对象属性产生变化,最终导致视图外观变化。
6.利用PropertyValuesHolder实现动画代码的重用
//使用PropertyValuesHolder 构造 Animator 组合成类似set的效果
PropertyValuesHolder pvhX = PropertyValuesHolder.ofFloat("scaleX",0f,2.5f);
PropertyValuesHolder pvhY = PropertyValuesHolder.ofFloat("scaleY",0f,3f);
ObjectAnimator animator = ObjectAnimator.ofPropertyValuesHolder(imageview, pvhX,pvhY);
animator.setDuration(2000);
7.代码设置动画速率
anim.setInterpolator(new AccelerateInterpolator());
(持续更新)