2014-10-27 129 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> 

下面代碼