当前位置: 首页 > 编程笔记 >

Android7.0上某些PopuWindow出现显示位置不正确问题的解决方法

孔征
2023-03-14
本文向大家介绍Android7.0上某些PopuWindow出现显示位置不正确问题的解决方法,包括了Android7.0上某些PopuWindow出现显示位置不正确问题的解决方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了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.图片大小要大于

  • 本文向大家介绍Pyecharts地图显示不完成问题解决方案,包括了Pyecharts地图显示不完成问题解决方案的使用技巧和注意事项,需要的朋友参考一下 官网给的解释如下: 自从 0.3.2 开始,为了缩减项目本身的体积以及维持 pyecharts 项目的轻量化运行,pyecharts 将不再自带地图 js 文件。 如用户需要用到地图图表,可自行安装对应的地图文件包。 全球国家地图: echarts