有没有办法动画裁剪ImageView?
比如说,ImageView是720 x 480.我想用动画切掉底部像素行,直到ImageView完全消失。我只能在启用onclicklistener时将图像向上移动,并使其透明,这没关系,但不是设计师所要求的。
答案 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);