zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    ruby学习笔记(5)
    rails学习笔记(2)
    一个不错的rails2.0教程
    rails学习笔记(2)
    rails学习笔记(1)
    一个不错的rails2.0教程
    ruby学习笔记(6)
    ruby学习笔记(6)
    rails学习笔记(1)
    DELPHI的编译指令
  • 原文地址:https://www.cnblogs.com/fly-allblue/p/3566344.html
Copyright © 2011-2022 走看看