Android 為PopupWindow設定動畫效果

銳湃發表於2015-08-10

首先定義顯示效果的動畫檔案:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">  
    <translate  
        android:fromXDelta="0"  
        android:toXDelta="0"  
        android:fromYDelta="120"  
        android:toYDelta="0"  
        android:duration="500" />  
</set>

然後定義消失效果的動畫檔案:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">  
    <translate  
        android:fromXDelta="0"  
        android:toXDelta="0"  
        android:fromYDelta="0"  
        android:toYDelta="120"  
        android:duration="500" />  
</set>

PopupWindow的動畫顯示效果是通過setAnimationStyle(int id)方法設定的,其中id為一個style的id,所以我們要在styles.xml檔案中設定一個動畫樣式:

<style name="popwin_anim_style">
     <item name="android:windowEnterAnimation">@anim/menushow</item>
     <item name="android:windowExitAnimation">@anim/menuhide</item>
</style>

然後在程式中為PopupWindow設定就成:
PopupWindow pop = new PopupWindow(view, ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
pop.setAnimationStyle(R.style.popwin_anim_style);

轉自:http://blog.csdn.net/starrexstar/article/details/7896835

相關文章