您的位置:首页 > 移动开发 > Android开发

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

2011-12-13 22:17 711 查看
     今天学习一下使用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 + "");

}
}


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

    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息