美文网首页
Popupwindow坑

Popupwindow坑

作者: new_xd | 来源:发表于2018-04-12 00:25 被阅读0次

    需求

    点击按钮,在按钮位置出现弹窗,里面是一个菜单列表,给用户选择。
    这个按钮是在一个RecycleView里,按钮是跟着滑动的。
    菜单里的item个数不是固定的

    期望实现的效果是:如果按钮下方够展示菜单列表,就在下方展示,不够展示菜单列表时,可以在按钮上方展示。

    实现

    采用PopupWindow中放入GridView实现,
    PopupWindow和GridView的大小是WrapContent
    主要调用PopupWindow的showAsDropDown方法

    遇到的问题

    下方不足以展示全部菜单时,会把空间占完,然后必须滑动GridView才能看全菜单
    Android系统源码上虽然注释的showAsDropDown会在下方不足以展示PopupWindow时自动调整位置,但是实际效果是按钮在屏幕最下方,它就是不会在按钮上方展示(因为上个版本相同的代码就实现了这个效果,所以特别不理解重写的就不行)

    问题核心

    PopupWindow在计算其大小上,有问题,计算的不准确。网上有很多此类问题的帖子就不贴了。

    解决方案

    给PopupWindow设置固定的大小。

    这个问题在不同的平台上表现不一样。

    相关文章

      网友评论

          本文标题:Popupwindow坑

          本文链接:https://www.haomeiwen.com/subject/nwutkftx.html