如何让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动画的时候再改好了


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM