Android 获取屏幕尺寸与密度

5年以前  |  阅读数:371 次  |  编程语言:JAVA 
public static int getWidthAndHeight(){
    // 获取屏幕密度(方法1)
    int screenWidth  = getWindowManager().getDefaultDisplay().getWidth();       // 屏幕宽(像素,如:480px)
    int screenHeight = getWindowManager().getDefaultDisplay().getHeight();      // 屏幕高(像素,如:800p)

    Log.e(TAG + "  getDefaultDisplay", "screenWidth=" + screenWidth + "; screenHeight=" + screenHeight);


    // 获取屏幕密度(方法2)
    DisplayMetrics dm = new DisplayMetrics();
    dm = getResources().getDisplayMetrics();

    float density  = dm.density;        // 屏幕密度(像素比例:0.75/1.0/1.5/2.0)
    int densityDPI = dm.densityDpi;     // 屏幕密度(每寸像素:120/160/240/320)
    float xdpi = dm.xdpi;           
    float ydpi = dm.ydpi;

    Log.e(TAG + "  DisplayMetrics", "xdpi=" + xdpi + "; ydpi=" + ydpi);
    Log.e(TAG + "  DisplayMetrics", "density=" + density + "; densityDPI=" + densityDPI);

    screenWidth  = dm.widthPixels;      // 屏幕宽(像素,如:480px)
    screenHeight = dm.heightPixels;     // 屏幕高(像素,如:800px)

    Log.e(TAG + "  DisplayMetrics(111)", "screenWidth=" + screenWidth + "; screenHeight=" + screenHeight);



    // 获取屏幕密度(方法3)
    dm = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(dm);

    density  = dm.density;      // 屏幕密度(像素比例:0.75/1.0/1.5/2.0)
    densityDPI = dm.densityDpi;     // 屏幕密度(每寸像素:120/160/240/320)
    xdpi = dm.xdpi;         
    ydpi = dm.ydpi;

    Log.e(TAG + "  DisplayMetrics", "xdpi=" + xdpi + "; ydpi=" + ydpi);
    Log.e(TAG + "  DisplayMetrics", "density=" + density + "; densityDPI=" + densityDPI);

    int screenWidthDip = dm.widthPixels;        // 屏幕宽(dip,如:320dip)
    int screenHeightDip = dm.heightPixels;      // 屏幕宽(dip,如:533dip)

    Log.e(TAG + "  DisplayMetrics(222)", "screenWidthDip=" + screenWidthDip + "; screenHeightDip=" + screenHeightDip);

    screenWidth  = (int)(dm.widthPixels * density + 0.5f);      // 屏幕宽(px,如:480px)
    screenHeight = (int)(dm.heightPixels * density + 0.5f);     // 屏幕高(px,如:800px)

    Log.e(TAG + "  DisplayMetrics(222)", "screenWidth=" + screenWidth + "; screenHeight=" + screenHeight)

}
 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
文件下载
获取IMEI
贪吃蛇
双位运算符
发送邮件
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
提取后缀名
年的日历图
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例