Android7.0上PopupWindow的showAsDropDown位置问题

在Android7.0和7.1.1手机上测试发现showAsDropDown(view)展示时发现会充满屏幕,而不是展示在view的下方

解决方法

方案一:使用showAtLocation方法,指定位置
方案二:重写showAsDropDown(view),如下

    @Override
    public void showAsDropDown(View anchor) {
        if (Build.VERSION.SDK_INT >= 24){
            Rect rect = new Rect();
            anchor.getGlobalVisibleRect(rect);
            int h = anchor.getResources().getDisplayMetrics().heightPixels - rect.bottom;
            setHeight(h);
        }
        super.showAsDropDown(anchor);
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,055评论 25 709
  • 本文出自 “阿敏其人” 简书博客,转载或引用请注明出处。 前言 注:为书写方便,本文的popup代表PopupWi...
    阿敏其人阅读 10,690评论 3 26
  • 还有20天 不,19天。 还有19天我就毕业了,3年前的那天,满心期待来到这个学校,碰到了一群傻傻的同学那...
    Silly擁阅读 1,639评论 0 1
  • IOT TECH EXPO was held recently in Santa Clara Oct 20-21s...
    HongyangWang阅读 1,738评论 0 1
  • #鬼王x小狐狸# 鬼王养有一只小狐狸, 没事就喜欢逗逗它, 后化为人型为女性。 他去哪里小狐妖都跟着, 她人型不完...
    沐七然阅读 4,308评论 1 2

友情链接更多精彩内容