有什么方法可以在ImageView上进行动画裁剪吗?

时间:2013-08-05 13:52:59

标签: android android-imageview android-animation android-view android-xml

有没有办法动画裁剪ImageView?

比如说,ImageView是720 x 480.我想用动画切掉底部像素行,直到ImageView完全消失。我只能在启用onclicklistener时将图像向上移动,并使其透明,这没关系,但不是设计师所要求的。

2 个答案:

答案 0 :(得分:2)

    ValueAnimator anim = ValueAnimator.ofInt(myImageView.getMeasuredHeight(), 0);
    anim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator valueAnimator) {
            int val = (Integer) valueAnimator.getAnimatedValue();
            ViewGroup.LayoutParams layoutParams = myImageView.getLayoutParams();
            layoutParams.height = val;
            myImageView.setLayoutParams(layoutParams);
        }
    });
    anim.setDuration(1000);
    anim.start();       

我从这里获得了代码并将其更改为高度:ObjectAnimator animate LinearLayout width

答案 1 :(得分:0)

假设您只想切断高度,使用ObjectAnimator将可以创建这样的自定义裁剪高度动画, 首先,您需要指定getHeight()setHeight()方法,然后使用ObjectAnimator创建自定义动画。

public float getHeight() { ... }
public void setHeight(float h) { ... }

ObjectAnimator heightAnim= ObjectAnimator.ofFloat(yourImageView, "height", heightBegin, heightEnd);