【问题标题】:Card flip animation on PopupWindow or DialogFragmentPopupWindow 或 DialogFragment 上的卡片翻转动画
【发布时间】:2014-12-22 11:03:19
【问题描述】:

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

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

【问题讨论】:

    标签: android card-flip


    【解决方案1】:

    我使用了objectAnimatorscalXscalY 属性。当动画开始时,我将窗口从值 0.9 缩小到 0.5 动画时间的一半。并再次将窗口从 0.5 缩放到 0.9 以获取剩余的动画时间。随着窗口大小的减小,窗口边界在动画期间完全适合剪辑区域。这解决了我的问题。以下是来自this examplecard_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" >
    

    【讨论】:

      猜你喜欢
      • 2013-11-22
      • 2014-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多