popupwindow在某些机型上不显示的问题

转载 2018年04月16日 16:45:44
很多时候你可能会遇到popupwindow不显示或是一部分手机能显示一些不能显示的情况,那恭喜你看到了这篇文章
最开始我创建popupwindow的方式
代码如下
    //肉眼看上去没什么问题,果然拿出我的小米note跑起来也是正常的,但是偏偏来个三星和魅族的一些手机就显示不了
    View view = LayoutInflater.from(this).inflate(R.layout.choice_rider_num, null);
        window = new PopupWindow(this);
        window.setContentView(view);
        window.setOutsideTouchable(false);
        window.setFocusable(true);
        // 实例化一个ColorDrawable颜色为半透明
        window.setBackgroundDrawable(null);
        window.setAnimationStyle(R.style.mypopwindow_anim_style);
        window.showAtLocation(v, Gravity.BOTTOM, 0, 0);
仔细研究后发现是没有给popupwindow设置宽高导致的,于是

 window = new PopupWindow(this);
        window.setContentView(view);
        //设置宽高
        window.setWidth(ViewGroup.LayoutParams.WRAP_CONTENT);
        window.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
        window.setOutsideTouchable(false);
        window.setFocusable(true);
        window.setAnimationStyle(R.style.mypopwindow_anim_style);
        window.showAtLocation(v, Gravity.BOTTOM, 0, 0);
解决啦
同理你也可以
  window = new PopupWindow(v, WindowManager.LayoutParams.MATCH_PARENT,
                WindowManager.LayoutParams.MATCH_PARENT);
        window.setContentView(view)
        window.setOutsideTouchable(false);
        window.setFocusable(true);
        // 实例化一个ColorDrawable颜色为半透明
        window.setBackgroundDrawable(null);
        window.setAnimationStyle(R.style.mypopwindow_anim_style);
        window.showAtLocation(v, Gravity.BOTTOM, 0, 0);
参考:https://www.jianshu.com/p/a18215850a62

PopupWindow7.0及以上全屏问题

问题描述:PopupWindow在7.0级以上手机上showAsDropDown()方法失效,任然全屏。 解决方案:自定义CustomPopupWindow继承PopupWindow,重写showA...
  • u010296640
  • u010296640
  • 2018-03-09 14:05:35
  • 23

popupwindow不显示问题

很多时候不显示 一,加背景 ColorDrawable dw = new ColorDrawable(Color.TRANSPARENT); popupWindow1.setBackground...
  • nimeghbia
  • nimeghbia
  • 2017-06-23 13:51:54
  • 554

popupWindow在android7.0以上显示全屏的问题

在Android7.0以上版本调用popupWindow的showAsDropDown()方法,始终显示全屏,今天记录下解决这个问题的方法自定义popupwindow复写showAsDropDown(...
  • oQiHaoGongYuan
  • oQiHaoGongYuan
  • 2017-12-20 17:35:10
  • 728

Android7.0 ,7.1,8.0 popupwindow showAsDropDown 显示异常解决办法

Android7.0 以上popupwindow showAsDropDown在屏幕上方弹出解决方法,通过版本控制解决, 参考博客:http://blog.csdn.net/zhihui_520/...
  • ithe1001
  • ithe1001
  • 2017-02-21 14:15:18
  • 3999

popupwindow 显示在指定的位置

需求:下面有5个Button需要计算相应位置弹出popupwindow 思路 1.得到button的坐标 2.得到button宽高 3.得到popupwindow宽高 4.通过上面的三个条件计算得...
  • lipingaccp
  • lipingaccp
  • 2015-12-15 13:18:15
  • 1061

【关于适配】华为手机PopupWindow弹出时背景不变暗 或者 华为手机PopupWindow背景一闪一闪问题处理

前言: 项目开发中遇到关于PopupWindow适配性的问题,特别是在华为手机上显示就会出现类似的情况。下面这段PopupWindow弹出时背景变暗效果的代码在网上随处可见:private void...
  • zouzhigang96
  • zouzhigang96
  • 2016-11-11 12:02:45
  • 1354

PopUpWindow位置指定对小米4(Android7.0)兼容适配

本文测试环境为Android7.0版本的小米4,因为今天是年前最后一天上班的关系,才有时间写个博客,也是这个原因,心情浮躁,没有时间做多余的测试。所以尚不清楚是机型适配问题还是Android7.0版本...
  • AIR_GRU
  • AIR_GRU
  • 2017-01-22 16:36:49
  • 2158

android popupwindow在7.0 7.1上的问题

建了博客账号,建了github,可是一点都不想写啊,懒到家了 今天主要被popupwindow的问题搞懵逼了,android 7.0的源码是有bug的,可参考 http://www.jianshu.c...
  • m190607070
  • m190607070
  • 2017-02-28 18:54:29
  • 2517

android 7.0 PopupWindow中ShowAsDropDown()方法不适配的解决方案

方法:      在你extends的PopupWindow中添加如下代码:           @Override     public void showAsDropDown(View anch...
  • p19900618
  • p19900618
  • 2017-12-15 16:17:37
  • 88

真机测试时个别机型无法显示toast的问题解决方案

真机测试时个别机型toast信息不显示,找到两个解决方案,不知还有什么其它有效方法,期待大神们的分享!!! 1、手动方案:设置——>应用软件管理——>对应APP——>勾选显示通知框 2、替代方案:...
  • wonfly2011
  • wonfly2011
  • 2014-06-22 10:06:36
  • 1603
收藏助手
不良信息举报
您举报文章:popupwindow在某些机型上不显示的问题
举报原因:
原因补充:

(最多只允许输入30个字)