我们使用的时候,经常会用到一些弹出的小弹窗。我们用到的是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,旋转动画等等这些效果的知识。