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

作者:tu_sample 时间:2021-12-13 22:44:36 

本文实例讲述了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程序设计有所帮助。

来源:http://blog.csdn.net/frained/article/details/53643427

标签:Android7.0,PopuWindow
0
投稿

猜你喜欢

  • Javassist之一秒理解java动态编程

    2023-11-09 09:36:33
  • Android之软键盘自动弹出和关闭【代码分享】

    2021-06-30 16:26:08
  • C#实现合并及拆分PDF文件的方法

    2021-06-15 12:55:23
  • 解决IDEA2020 创建maven项目没有src/main/java目录和webapp目录问题

    2022-05-29 07:57:18
  • RecyclerView的使用之HelloWorld

    2023-10-24 08:14:13
  • SpringBoot整合Mybatis实现CRUD

    2022-01-10 09:26:45
  • Kotlin封装RecyclerView Adapter实例教程

    2023-11-06 01:54:23
  • C#中winform控制textbox输入只能为数字的方法

    2023-06-26 12:09:03
  • C# 添加、修改和删除PDF书签的实例代码

    2022-09-24 06:45:55
  • 详解Java环境变量配置方法(Windows)

    2022-05-09 02:39:33
  • Java NIO和IO的区别

    2023-07-15 22:53:46
  • IDEA2020.2.3中创建JavaWeb工程的完整步骤记录

    2022-03-15 05:16:02
  • 详解Matisse与Glide--java.lang.NoSuchMethodError:com.bumptech.glide.RequestManager.load

    2021-06-21 02:09:19
  • C# Aspose.Words 删除word中的图片操作

    2023-07-29 12:01:43
  • Android中ContextMenu用法实例

    2023-02-12 20:09:49
  • MyBatis绑定错误提示BindingException:Invalid bound statement (not found)的解决方法

    2021-10-22 03:58:44
  • Android 定时器实现图片的变换

    2021-05-28 00:33:13
  • 使用Spring Cloud Feign作为HTTP客户端调用远程HTTP服务的方法(推荐)

    2022-11-09 11:40:37
  • 实例解析Json反序列化之ObjectMapper(自定义实现反序列化方法)

    2023-11-23 18:07:25
  • Android标题栏中添加返回按钮功能

    2022-09-16 05:52:47
  • asp之家 软件编程 m.aspxhome.com