PopupWindow或DialogFragment上的卡片翻转动画



我正在尝试在PopupWindow内部的ViewGroup上应用卡片翻转动画。我正在使用AnimatorSetViewGroup上应用动画。动画发生在窗口的边界内。超出窗口边界的部分窗口是剪切。有什么建议可以避免剪辑?

我已经找到了解决方案,但欢迎其他解决方案。:)

我使用了objectAnimatorscalXscalY属性。当动画开始时,我会在一半的动画时间内将窗口从值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" >

相关内容

  • 没有找到相关文章

最新更新