android设备计算密度,宽高!

  1.   
  2. import android.app.Activity;  
  3. import android.os.Bundle;  
  4. import android.util.DisplayMetrics;  
  5.   
  6. public class MainActivity extends Activity {  
  7.   
  8.     //屏幕的宽高, 单位像素  
  9.     private int screenWidth;  
  10.     private int screenHeight;  
  11.       
  12.     //屏幕的密度  
  13.     private float density;  //只有五种情况 : 0.75/ 1.0/ 1.5/ 2.0/ 3.0  
  14.     private int densityDpi; //只有五种情况 : 120/ 160/ 240/ 320/ 480  
  15.       
  16.     //水平垂直精确密度  
  17.     private float xdpi; //水平方向上的准确密度, 即每英寸的像素点  
  18.     private float ydpi; //垂直方向上的准确密度, 即没音村的像素点  
  19.       
  20.     @Override  
  21.     protected void onCreate(Bundle savedInstanceState) {  
  22.         super.onCreate(savedInstanceState);  
  23.         setContentView(R.layout.activity_main);  
  24.           
  25. //      getPixelWindowManager();  
  26. //      getPixelDisplayMetrics();  
  27.         getPixelDisplayMetricsII();  
  28.           
  29.         System.out.println("宽:" + screenWidth + ", 高:"+screenHeight);  
  30.         System.out.println("密度 density:" + density + ",densityDpi:" +densityDpi);  
  31.         System.out.println("精确密度 xdpi:" + xdpi + ", ydpi:" + ydpi);  
  32.     }  
  33.       
  34.     private void getPixelWindowManager() {  
  35.         screenWidth = getWindowManager().getDefaultDisplay().getWidth();  
  36.         screenHeight = getWindowManager().getDefaultDisplay().getHeight();  
  37.     }  
  38.       
  39.     private void getPixelDisplayMetrics() {  
  40.         DisplayMetrics dm = new DisplayMetrics();  
  41.         dm = getResources().getDisplayMetrics();  
  42.           
  43.         screenWidth = dm.widthPixels;  
  44.         screenHeight = dm.heightPixels;  
  45.           
  46.         density = dm.density;  
  47.         densityDpi = dm.densityDpi;  
  48.           
  49.         xdpi = dm.xdpi;  
  50.         ydpi = dm.ydpi;  
  51.     }  
  52.       
  53.     private void getPixelDisplayMetricsII() {  
  54.         DisplayMetrics dm = new DisplayMetrics();  
  55.         getWindowManager().getDefaultDisplay().getMetrics(dm);  
  56.           
  57.         screenWidth = dm.widthPixels;  
  58.         screenHeight = dm.heightPixels;  
  59.           
  60.         density = dm.density;  
  61.         densityDpi = dm.densityDpi;  
  62.           
  63.         xdpi = dm.xdpi;  
  64.         ydpi = dm.ydpi;  
  65.     }  

你可能感兴趣的:(android)