/** * fromX:起始X坐标上的伸缩尺寸。 * <p/> * toX:结束X坐标上的伸缩尺寸。 * <p/> * fromY:起始Y坐标上的伸缩尺寸。 * <p/> * toY:结束Y坐标上的伸缩尺寸。 * <p/> * pivotXType:X轴的伸缩模式,可以取值为ABSOLUTE、RELATIVE_TO_SELF、RELATIVE_TO_PARENT。 * <p/> * pivotXValue:X坐标的起始位置。。 * <p/> * pivotYType:Y轴的伸缩模式,可以取值为ABSOLUTE、RELATIVE_TO_SELF、RELATIVE_TO_PARENT。 * <p/> * pivotYValue:Y坐标的起始位置。 * <p/> * 有三种默认值: * <p/> * RELATIVE_TO_PARENT 相对于父控件 * <p/> * RELATIVE_TO_ABSOLUTE 绝对坐标 */ //开始动画 public void startAnimation() { scaleAnimation = new ScaleAnimation(0.0f, 1.0f, 1.0f, 1.0f, Animation.RELATIVE_TO_PARENT, 0.8f, 0, 0.0f); scaleAnimation.setDuration(1000); // scaleAnimation.setRepeatCount(2);//设置重复次数 // scaleAnimation.setFillAfter(true);//动画执行完后是否停留在执行完的状态 //animation.setStartOffset(long startOffset);//执行前的等待时间 actRefrenalRlSearch.setAnimation(scaleAnimation); scaleAnimation.start(); scaleAnimation.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) { long duration = animation.getDuration(); UIUtils.log("duration--------" + duration); // sleep(500); actRefrenalTitle.setVisibility(View.GONE); } @Override public void onAnimationEnd(Animation animation) { long duration = animation.getDuration(); UIUtils.log("duration---" + duration); actRefrenalRlSearch.setVisibility(View.VISIBLE); actRefrenalEt.setFocusable(true); actRefrenalEt.setFocusableInTouchMode(true); actRefrenalEt.requestFocus();//重新获取焦点 UIUtils.switchKeyBoard(); } @Override public void onAnimationRepeat(Animation animation) { long duration = animation.getDuration(); UIUtils.log("duration-" + duration); } }); } //结束动画 public void canleAnimation() { scaleAnimation = new ScaleAnimation(1.0f, 0.0f, 1.0f, 1.0f, Animation.RELATIVE_TO_PARENT, 0.2f, 0, 0); scaleAnimation.setDuration(1000); scaleAnimation.setFillAfter(false);//动画执行完后是否停留在执行完的状态 actRefrenalRlSearch.setAnimation(scaleAnimation); scaleAnimation.start(); scaleAnimation.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) { } @Override public void onAnimationEnd(Animation animation) { } @Override public void onAnimationRepeat(Animation animation) { } }); }