android真实分辨率和非真实分辨率

今天写代码的时候发现一个奇葩的问题,明明一样的公式,的出来的结果是不一样的,后面才知道这屏幕高度不是1920而是1794,所以的出来的值不一样。


            //1794/1080     1794/1080         =1.66111
            this.smartScreenHeight= screenSize.height/screenSize.width>=1.8f? (float) (1.6611111111111111111111111111111f * screenSize.width) :screenSize.height;
//            this.smartScreenHeight=screenSize.height;

这句代码是解决一个问题,这个问题就是宽和高过长导致的按钮 太高太丑的bug.
另外这里有一个获取真实高度的方法


    }

    /**
     * 通过反射,获取包含虚拟键的整体屏幕高度
     *
     * @return
     */
    public static int getRawScreenHeight(Context context) {
        WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
        Display display = wm.getDefaultDisplay();
        int width = display.getWidth();
        int height = wm.getDefaultDisplay().getHeight();
        DisplayMetrics dm = new DisplayMetrics();
        @SuppressWarnings("rawtypes")
        Class c;
        int dpi;
        try {
            c = Class.forName("android.view.Display");
            @SuppressWarnings("unchecked")
            Method method = c.getMethod("getRealMetrics", DisplayMetrics.class);
            method.invoke(display, dm);
            dpi = dm.heightPixels;
            return dpi;
        } catch (Exception e) {
            e.printStackTrace();
            return 0;
        }
    }

根据比例得出自己手机应该的高度

            this.smartScreenHeight = screenSize.width * (667f / 375f);//传递1080得到1920.96

            Log.w("CALC_HEIGHT",this.smartScreenHeight+"");

期望的屏幕高度=当前屏幕宽度*(667/375)
转换后的坐标=(坐标/667)*期望的屏幕高度

//第二句话的第二种写法
667为高度 
期望的屏幕高度/667 *坐标

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,888评论 25 709
  • 你有没有帮助过特别需要帮助的人? 据《成都商报》(2017年5月15日)报道,在成都师范学院读大三的贫困生汤丽莎,...
    山中君阅读 2,967评论 0 0
  • 我有两个恋人 一个住水里 一个住云间 水里的浪漫 云间的神秘 水里的笑意浓 云间的眉清浅 水里的恋人等风 风来 我...
    苏倾梦阅读 955评论 0 1
  • 最新消息,语文的教材要进行大修改了,新教材加入了很多关于名著阅读,古诗词赏析的内容。这真是一个大动作!可这个大动作...
    张毛丽阅读 2,241评论 0 0
  • 还是一样预想了很多,大家总是值得期待。 所有的事再次经历,竟也会像从未离开过一样。感受最真实。 每个人都带着祝福与...
    i悠然阅读 1,410评论 0 0