zoukankan      html  css  js  c++  java
  • android Navigator的高度计算和推断是否显示

    进入互联网行业几天了, 从手机行业转到互联网行业也在慢慢的适应: IDE工具的使用(之前一直在Ubuntu 命令行进行开发)。 版本号管理工具,代码架构等等这些都须要又一次适应。 好在本人另一些底子,所以适应起来还算快^_^.   今天就从昨天遇到的一个小问题開始分享


    先上图


    如图所看到的,在使用popupwindow显示menu时,  底部navigator与确定button重叠。



    解决此问题思路就是推断底部navigator是否已经打开, 假设打开则计算navigator的高度。 然后在调用popupwindow.showAtLocation时, 将y坐标做位移navigator的高度


    详细方法能够看以下两个方法: 各自是推断navigator的高度和navigator是否显示---mcoy是本人的英文名称^_^


    /**
         * add by mcoy for bugID=427
         * @return 底部状态栏的高度
         */
        private int getNavigationBarHeight() {
            if(!hasSoftKeys((WindowManager) context.getSystemService(Context.WINDOW_SERVICE))){
                return 0;
            }
            Resources resources = context.getResources();
            int resourceId = resources.getIdentifier("navigation_bar_height","dimen", "android");
            int height = resources.getDimensionPixelSize(resourceId);
            Log.e("mcoy", "the height is " + height);
            return height;
        }

        /**
         * add by mcoy for bugID=427, 推断底部navigator是否已经显示
         * @param windowManager
         * @return
         */
        private boolean hasSoftKeys(WindowManager windowManager){
            Display d = windowManager.getDefaultDisplay();

            DisplayMetrics realDisplayMetrics = new DisplayMetrics();
            d.getRealMetrics(realDisplayMetrics);

            int realHeight = realDisplayMetrics.heightPixels;
            int realWidth = realDisplayMetrics.widthPixels;

            DisplayMetrics displayMetrics = new DisplayMetrics();
            d.getMetrics(displayMetrics);

            int displayHeight = displayMetrics.heightPixels;
            int displayWidth = displayMetrics.widthPixels;

            return (realWidth - displayWidth) > 0 || (realHeight - displayHeight) > 0;
        }

  • 相关阅读:
    Intel CPU编号详解
    matplotlib(二)——matplotlib控制坐标轴第一个刻度到原点距离
    matplotlib(一)——matplotlib横轴坐标密集字符覆盖
    博客园定制页面(五)——使用自定义JS脚本(公告栏显示时间)
    PyCharm(二)——PyCharm打开本地项目不显示项目文件
    nohup命令
    URL是如何解析的
    Python 得到主机字节序
    Python 得到ISP地址
    亚马逊s3上传大文件Python
  • 原文地址:https://www.cnblogs.com/llguanli/p/7226226.html
Copyright © 2011-2022 走看看