• android 获取屏幕宽高的几种方法


    方法一:通过WindowManager获取
         

    1     private DisplayMetrics dm;//屏幕分辨率容器
    2     dm = new DisplayMetrics();
    3     this.getWindowManager().getDefaultDisplay().getMetrics(dm);
    4     int width = dm.widthPixels;
    5     int height = dm.heightPixels;
    View Code


    方法二:通过Resources获取
       

    1 DisplayMetrics dm = getResources().getDisplayMetrics();
    2 int width = dm.widthPixels;
    3 int height= dm.heightPixels;
    View Code

    方法三:获取屏幕的默认分辨率
       

    Display display = getWindowManager().getDefaultDisplay();
    int width = display.getWidth();
    int height = display.getHeight();
    View Code


    注意:第一、第三种方法都用到了getWindowManager()这个方法,而第二种方法没有用getWindowManager()。

        有些网友说书写getWindowManager()后eclipse会报错,说没有getWindowManager()这个方法,这是什么原因呢?

        因为getWindowManager()这个方法是在类Activity中的,如果你自己编写的类不是继承于类Activity,

        那么必然在这个类中书写代码就不能用到getWindowManager()这个方法。所以当你自己编写的类不是继承于类Activity,

        那么就只能应用第二种方法获取手机屏幕的大小。

    px与dip的互相转化

    1     public static int dipTopx(Context context, float dipValue){              
    2         final float scale = context.getResources().getDisplayMetrics().density;                   
    3         return (int)(dipValue * scale + 0.5f);           
    4     }              
    5     public static int pxTodip(Context context, float pxValue){                  
    6         final float scale = context.getResources().getDisplayMetrics().density;                   
    7         return (int)(pxValue / scale + 0.5f);           
    8     }
    View Code
  • 相关阅读:
    OpenGL纹理数据块
    MFC应用真彩色图标资源
    PictureConverter命令行图片批量转换工具
    Google Earth6.1 tree
    OpenGL Render On Window Process
    纹理滤波(Texture Filter)
    使用开源OpenCTM进行常用三维格式互导
    《搅基辞》
    访问WebDAV服务
    linux 挂载一个文件夹到另一个文件夹
  • 原文地址:https://www.cnblogs.com/fly-allblue/p/3566344.html
Copyright © 2020-2023  润新知