如何让popWindow显示在view上方
看了bilibili的客户端搜索按钮,很喜欢大爱!自己也想做个类似的(相似度 10% 哈哈)
popWin的出现退出动画也可以自己设定,用过其方法setAnimationStyle(R.style.xxx)设置Style文件进而设置显示退出动画
<!-- popwindow进入和退出动画 --> <style name="popwin_anim_style"> <item name="android:windowEnterAnimation">@anim/menushow</item> <item name="android:windowExitAnimation">@anim/menuhide</item> </style>
对应的show和hide文件,这里看以发现只是很简单的translate变换动画
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="-800" android:toXDelta="0" android:fromYDelta="0" 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="-700" android:fromYDelta="0" android:toYDelta="0" android:duration="300" /> </set>
我们在新建一个popupwindow之后 关键就在这里 显示的时候规定显示的位置
//这里是获取需要显示popwin的view的位置,然后使popwin显示在其上方 int[] location = new int[2]; rv_menusearch.getLocationOnScreen(location); popsearch.showAtLocation(rv_menusearch, Gravity.NO_GRAVITY, location[0], location[1] - popsearch.getHeight());
等到研究出类似bilibili动画的时候再改好了