我們使用的時候,經常會用到一些彈出的小彈窗。我們用到的是PopupWindow,但是popupwindow不僅僅可以從底部進行彈出。
其實我們完全可以根據自己的需求來對彈窗進行從X方向的右到左的彈出,左到右的彈出等等等等。
在不瞭解的情況下,一臉懵逼。瞭解以後,其實就是popupwindow的彈出方式的問題以及風格的問題。
參照:
《Android自定義控件三部曲文章索引》:http://blog.csdn.net/harvic880925/article/details/50995268
那麼,我們就style.xml。
<style name="AnimationRightFade"> <item name="android:windowEnterAnimation">@anim/out_righttoleft</item> <item name="android:windowExitAnimation">@anim/in_lefttoright</item> </style>我這舉個例子而已,是從右邊彈出,消失的時候原路返回。
anim中,定義這倆xml。
in_lefttoright.xml:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:duration="100" android:fromXDelta="1" android:toXDelta="0" /> </set>out_righttoleft.xml:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="100" android:fromXDelta="0" android:toXDelta="1" /> </set>
看一下就知道其實就是from和to的事情了,可以X方向的從哪到哪,也可以是從Y方向的。
bottom_in.xml:
<?xml version="1.0" encoding="utf-8"?> <!-- 上下滑入式 --> <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="200" android:fromYDelta="100%p" android:toYDelta="0" /> <alpha android:duration="200" android:fromAlpha="0.0" android:toAlpha="1.0" /> </set>
bottom_out.xml:
<?xml version="1.0" encoding="utf-8"?><!-- 上下滑入式 --> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:duration="200" android:fromYDelta="0" android:toYDelta="50%p" /> <alpha android:duration="200" android:fromAlpha="1.0" android:toAlpha="0.0" /> </set>大家參考根據自己的需求來進行編寫就行。
網上也有很多關於這方面的東西,可以參考對照一下translate還有alpha,旋轉動畫等等這些效果的知識。