Android使用Displaymetrics类获取一下手机屏幕中的一些信息

     今天学习一下使用Displaymetrics类获取一下手机屏幕中的一些信息

       首先看下文档中的讲解

      

    这个类中包含 描述大小,宽度,字体缩放和其一些其他信息,我们要访问的DisplayMetrics成员,初始化一个这样的对象:

    DisplayMetrics metrics = new DisplayMetrics();
   getWindowManager().getDefaultDisplay().getMetrics(metrics);

 

    返回值                              属性                      说明
    
       float                                           density                                显示屏幕密度    

       int                                               densityDpi                          
       int                                              heightPixels                        显示屏幕绝对高度  单位 像素

       float                                          scaledDensity

        int                                            widthPixels                         显示屏幕绝对宽度 单位 像素

       float                                          xdpi

       float                                           ydpi

   

     在上面比较常用的应该是我们要去获取屏幕的分辨率了,虽然我们在Android开发的时候可以随着窗口的大小去调整改变缩放的比例,但是如果我们能清楚的知道手机屏幕的信息,这样我在布局的时候,不至于或出现因为缩放还造成布局出现变形等等问题

     下面看下Demo源代码:

       

package com.android;  import android.app.Activity; import android.os.Bundle; import android.util.DisplayMetrics; import android.util.Log;  /**  * Demo:通过DisplayMetrices类来获取手机屏幕的一些参数  *   * @author jiangqq  *   */ public class DisplayMetricsDemo extends Activity { 	private static final String TAG = "DisplayMetricsDemo";  	@Override 	protected void onCreate(Bundle savedInstanceState) {  		super.onCreate(savedInstanceState); 		setContentView(R.layout.displaymetrices); 		DisplayMetrics displayMetrics = new DisplayMetrics(); 		getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); 		Log.i(TAG, "手机屏幕分辨率:" + displayMetrics.widthPixels + "X" 				+ displayMetrics.heightPixels); 		Log.i(TAG, "密度:" + displayMetrics.density); 		Log.i(TAG, "使用每英寸的像素点来显示密度:" + displayMetrics.densityDpi); 		Log.i(TAG, displayMetrics.xdpi + "," + displayMetrics.ydpi); 		Log.i(TAG, displayMetrics.scaledDensity + "");  	} } 


 打印出屏幕信息截图  这里打印出来的屏幕分辨都是以像素为单位的,而且是绝对的

    

你可能感兴趣的:(android,String,Class,文档,手机,float)