Применение анимации вида непосредственно к Drawable, а не ко всему виду - PullRequest
0 голосов
/ 19 декабря 2018

У меня есть анимация, которую я использую для отскока ImageView при нажатии.

<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/bounce_interpolator">
    <scale
        android:duration="500"
        android:fromXScale="1.5"
        android:fromYScale="1.5"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toXScale="1.0"
        android:toYScale="1.0" />
</set>

, и я применяю ее следующим образом.

view.startAnimation(
    AnimationUtils.loadAnimation(view.getContext(), R.anim.bounce));

Это работает простохорошо, но проблема в том, что анимация влияет не только на изображение, нарисованное внутри ImageView, но и на его фон.Когда анимация происходит, ее фон увеличивается и превышает границы представления, перекрывая другие виды рядом с ним.Есть ли способ применить анимацию только к Drawable внутри ImageView, чтобы она не влияла на фон просмотра?

(PS: Если на этот вопрос уже был дан ответ, пожалуйста, сделайтепометьте его как дубликат. Я искал, но не смог найти ответ, который соответствует тому, что я ищу.)

1 Ответ

0 голосов
/ 19 декабря 2018

Я не уверен, что это можно сделать.Но в качестве обходного пути вы можете поместить один ImageView поверх другого.Установите фон для ImageView ниже и установите фон для ImageView выше как прозрачный.Теперь установите Drawable на ImageView сверху и анимируйте, что ImageView.

...