Анимация переворачивания карты в PopupWindow или DialogFragment

Я пытаюсь применить анимацию переворачивания карты на ViewGroup внутри PopupWindow, я использую AnimatorSet применить анимацию поверх ViewGroup, Анимация происходит в пределах окна. И часть окна, выходящая за границы окна, обрезается. Любые предложения, чтобы избежать отсечения?

Я нашел решение, но другие решения приветствуются.:)

1 ответ

Решение

Я использовал scalX а также scalY свойства objectAnimator, Когда анимация запускается, я уменьшаю окно от значения 0,9 до 0,5 на половину времени анимации. И снова масштабируйте окно от 0,5 до 0,9 для оставшегося времени анимации. При уменьшении размера окна границы окна идеально вписываются в область отсечения во время анимации. Это решило мою проблему. Ниже приведен дополнительный код в card_flip_right_out.xml из этого примера

    <objectAnimator
        android:duration="200"
        android:propertyName="scaleY"
        android:valueFrom="0.9"
        android:valueTo="0.5" >
    </objectAnimator>
    <objectAnimator
        android:duration="200"
        android:propertyName="scaleX"
        android:valueFrom="0.9"
        android:valueTo="0.5" >
    </objectAnimator>

Ниже код добавлен в card_flip_right_in.xml

<objectAnimator
    android:duration="199"
    android:propertyName="scaleY"
    android:valueFrom="0.5"
    android:valueTo="0.9" >
</objectAnimator>
<objectAnimator
    android:duration="199"
    android:propertyName="scaleX"
    android:valueFrom="0.5"
    android:valueTo="0.9" >
</objectAnimator>
<objectAnimator
      android:duration="1"
    android:propertyName="scaleY" 
    android:startOffset="199"
    android:valueTo="1" >
</objectAnimator>
<objectAnimator
    android:duration="1"
    android:propertyName="scaleX"
    android:startOffset="199"
    android:valueTo="1" >
Другие вопросы по тегам