1

Есть ли способ анимации обрезки изображения?Любой способ сделать анимированную обрезку в ImageView?

Скажем, например, ImageView - 720 x 480. Я хочу вырезать нижние строки пикселей анимацией до тех пор, пока ImageView не исчезнет. Мне удалось только переместить изображение, когда включен onclicklistener, и сделать его прозрачным, что хорошо, но не то, о чем спросил дизайнер.

ответ

0

Предполагая, что вы только хотите, чтобы отрубить высоту, используя ObjectAnimator будет работать, чтобы создать такой пользовательский обрезается высоты анимации, Прежде всего вам нужно указать getHeight() и setHeight() методы, а затем создать пользовательскую анимацию с ObjectAnimator.

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

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

Спасибо за указание мне в правильном направлении! Сначала мне пришлось получить библиотеку анимации NineOldAndroids от Jake Wharton, как вам было предложено, потому что мне нужно поддерживать Lucidmike78

+0

Добро пожаловать, да, а также ObjectAnimator добавлен в API 11+, но библиотека JakeWhartons включает его также для устройств

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

Смежные вопросы