源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2020-11-19 21:58 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Android7.0上某些PopuWindow出现显示位置不正确问题的解决方法
本文实例讲述了Android7.0上某些PopuWindow出现显示位置不正确问题的解决方法。分享给大家供大家参考,具体如下: [b]情景描述:[/b] 在andorid7.0及以上系统,点击某个view,本来期待有一个Popuwindow在该view下面弹出(调用[code]PopuWindow.showAsDropDown(view)[/code]方法)但结果PopuWindow却弹出在view上方,顶在系统状态栏下面。 [b]原因分析:[/b] 在android7.0上,如果不主动约束PopuWindow的大小,比如,设置布局大小为 MATCH_PARENT,那么PopuWindow会变得尽可能大,以至于 view下方无空间完全显示PopuWindow,而且view又无法向上滚动,此时PopuWindow会主动上移位置,直到可以显示完全。 [b]解决办法:[/b] 主动约束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相关内容感兴趣的读者可查看本站专题:《[url=http://www.1sucai.cn/Special/952.htm]Android窗口相关操作技巧总结[/url]》、《[url=http://www.1sucai.cn/Special/410.htm]Android开发入门与进阶教程[/url]》、《[url=http://www.1sucai.cn/Special/508.htm]Android调试技巧与常见问题解决方法汇总[/url]》、《[url=http://www.1sucai.cn/Special/381.htm]Android基本组件用法总结[/url]》、《[url=http://www.1sucai.cn/Special/375.htm]Android视图View技巧总结[/url]》、《[url=http://www.1sucai.cn/Special/371.htm]Android布局layout技巧总结[/url]》及《[url=http://www.1sucai.cn/Special/124.htm]Android控件用法总结[/url]》 希望本文所述对大家Android程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部