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;
        }
  • 相关阅读:
    JAVA
    JAVA
    软件工程概论
    大道至简杂记
    InvokeRequired和Invoke
    C#代码:用事件模式实现通知
    VS 2012 C#快捷键
    error LNK2026: 模块对于 SAFESEH 映像是不安全的
    写EXCEL(csv 可以用EXECEL打开,逗号分列隔符)
    防止界面卡顿
  • 原文地址:https://www.cnblogs.com/tchaisheng/p/12399265.html
Copyright © 2011-2022 走看看