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

转载于:https://www.cnblogs.com/fengfenghuifei/p/5978371.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值