本文实例讲述了Android7.0上某些PopuWindow出现显示位置不正确问题的解决方法。分享给大家供大家参考,具体如下:
情景描述:
在andorid7.0及以上系统,点击某个view,本来期待有一个Popuwindow在该view下面弹出(调用PopuWindow.showAsDropDown(view)方法)但结果PopuWindow却弹出在view上方,顶在系统状态栏下面。
原因分析:
在android7.0上,如果不主动约束PopuWindow的大小,比如,设置布局大小为 MATCH_PARENT,那么PopuWindow会变得尽可能大,以至于 view下方无空间完全显示PopuWindow,而且view又无法向上滚动,此时PopuWindow会主动上移位置,直到可以显示完全。
解决办法:
主动约束PopuWindow的内容大小,重写showAsDropDown方法:
@Override public void showAsDropDown(View anchor) { if(Build.VERSION.SDK_INT >= 24){ Rect visibleFrame = new Rect(); anchor.getGlobalVisibleRect(visibleFrame); int height = anchor.getResources().getDisplayMetrics().heightPixels - visibleFrame.bottom; setHeight(height); } super.showAsDropDown(anchor); }
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android窗口相关操作技巧总结》、《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
本文向大家介绍解决Python一行输出不显示的问题,包括了解决Python一行输出不显示的问题的使用技巧和注意事项,需要的朋友参考一下 在使用python函数print()时,如下代码会出现输出无法显示的问题: 分三次在一行输出 123 当print不加end时,print函数会自动添加换行,和C++不一样需要手动添加cout<endl。加了end,一行后面没有了换行符,这时候是没办法输出的,也就
本文向大家介绍解决matplotlib库show()方法不显示图片的问题,包括了解决matplotlib库show()方法不显示图片的问题的使用技巧和注意事项,需要的朋友参考一下 最近使用python里的matplotlib库绘图,想在代码结束时显示图片看看,结果图片一闪而过,附上我原来代码: 我上网查了一下,在遇到show()方法无法显示图片或者图片一闪而过,解决方案分两步: 1.加头文件,完整
本文向大家介绍解决Python出现_warn_unsafe_extraction问题的方法,包括了解决Python出现_warn_unsafe_extraction问题的方法的使用技巧和注意事项,需要的朋友参考一下 在Python项目中运行出现了“AttributeError: ResourceManager instance has no attribute ‘_warn_unsafe_extr
本文向大家介绍C#中Datetimepicker出现问题的解决方法,包括了C#中Datetimepicker出现问题的解决方法的使用技巧和注意事项,需要的朋友参考一下 发现问题 DateTimePicker控件是用来显示和修改日期时间的,但默认只显示日期和修改日期。最近在使用中就遇到了一个问题,下面来随着小编一起看看吧 前几天公司用的物料管理系统出现了一个很奇怪的问题 具体的现象是: 10月31号
本文向大家介绍解决wx.onMenuShareTimeline出现的问题,包括了解决wx.onMenuShareTimeline出现的问题的使用技巧和注意事项,需要的朋友参考一下 wx.onMenuShareTimeline使用注意事项 我在开发测试过程中,发现使用wx.onMenuShareTimeline无效果,没有显示我定义的图片、title和链接,经过调试发现原因如下: 1.图片大小要大于
本文向大家介绍解决Android7.0更新后无法安装的问题,包括了解决Android7.0更新后无法安装的问题的使用技巧和注意事项,需要的朋友参考一下 最近在我们的应用中加入更新功能,按照往常一样加入代码 在测试机上一运行,妥妥的能安装,就此完事,然后我把它打包后发到我自己的手机上(Android7.1.1)上,下载安装,居然报错了,然后我的同事就说你看看7.0以上的文件,好像加了限制了,于是上百