zoukankan      html  css  js  c++  java
  • 如何获取到Android手机的dp

    来自https://www.jianshu.com/p/e0085b03a145

    代码:

    public void getAndroiodScreenProperty() {
            WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
            DisplayMetrics dm = new DisplayMetrics();
            wm.getDefaultDisplay().getMetrics(dm);
            int width = dm.widthPixels;         // 屏幕宽度(像素)
            int height = dm.heightPixels;       // 屏幕高度(像素)
            float density = dm.density;         // 屏幕密度(0.75 / 1.0 / 1.5)
            int densityDpi = dm.densityDpi;     // 屏幕密度dpi(120 / 160 / 240)
            // 屏幕宽度算法:屏幕宽度(像素)/屏幕密度
            int screenWidth = (int) (width / density);  // 屏幕宽度(dp)
            int screenHeight = (int) (height / density);// 屏幕高度(dp)
    
    
            Log.d("h_bl", "屏幕宽度(像素):" + width);
            Log.d("h_bl", "屏幕高度(像素):" + height);
            Log.d("h_bl", "屏幕密度(0.75 / 1.0 / 1.5):" + density);
            Log.d("h_bl", "屏幕密度dpi(120 / 160 / 240):" + densityDpi);
            Log.d("h_bl", "屏幕宽度(dp):" + screenWidth);
            Log.d("h_bl", "屏幕高度(dp):" + screenHeight);
        }

     获取屏幕密度

        /**
         * 屏幕密度(0.75 / 1.0 / 1.5)
         * @return
         */
        private float getScreenDensity() {
            DisplayMetrics dm = new DisplayMetrics();
            Objects.requireNonNull(getActivity()).getWindowManager().getDefaultDisplay().getMetrics(dm);
            return dm.density;
        }
  • 相关阅读:
    面试题(三)
    面试题(二)
    经典面试题(一)
    $.ajax()实现简单计算器
    [hdu5373 The shortest problem]模拟
    [hdu5371 Hotaru's problem]最大回文半径
    [hdu5372 Segment Game]树状数组
    [zoj3813]Alternating Sum 公式化简,线段树
    [hdu5348]图上找环,删环
    [hdu5360]贪心
  • 原文地址:https://www.cnblogs.com/tchaisheng/p/12399265.html
Copyright © 2011-2022 走看看