2014-10-27 141 views
0

我想在PopupWindow内部的ViewGroup上应用卡片翻转动画。我正在使用AnimatorSet将动画应用于ViewGroup。动画发生在窗口的范围内。窗外的部分窗口正在剪裁。任何建议,以避免削减?PopupWindow或DialogFragment上的卡片翻转动画

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

回答

0

我用scalXscalY性能objectAnimator。当动画开始时,我将动画时间的一半从0.9减小到0.5。剩下的动画时间再次从0.5到0.9缩放窗口。随着窗口大小的减小,窗口边界在动画过程中完全适合裁剪区域。这解决了我的问题。下面是在card_flip_right_out.xmlcard_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" > 
加入额外的代码从 this example

<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> 

下面代码