关于Android中手机分辨率的使用
Android 可设置为随着窗口大小调整缩放比例,但即便如此,手机程序设计人员还是必须知道手机屏幕的边界,以避免缩放造成的布局变形问题。
手机的分辨率信息是手机的一项重要信息,很好的是,Android 已经提供DisplayMetircs 类可以很方便的获取分辨率。下面简要介绍 DisplayMetics 类:
Android.util包下的DisplayMetrics类提供了一种关于显示的通用信息,如显示大小,分辨率和字体。
为了获取DisplayMetrics成员,首先初始化一个对象如下:
DisplayMetrics display=new DisplayMetrics();
Log.d("yujian<<", display.toString());//直接在这里输出,信息都是0.
getWindowManager().getDefaultDisplay().getMetrics(display); //将当前窗口的一些信息放在DisplayMetrics类中,
Log.d("yujian<<", display.toString());//然后就可以通过dispalyMetrics类来获取当前窗口的一些信息
注意:
构造函数DisplayMetrics不需要传递任何参数,getDefaultDisplay()方法将取得的宽高纬度存放于DisplayMetircs对象中,而取得的宽高纬度是以像素为单位的(pixel),像素所指的是绝对像素而非相对像素。
通过DisplayMetrics的toString()方法可以获取到DisplayMetrics的大部分fields 信息,如下是在分辨率为480x320情况下的一些输出信息:
12-06 16:39:34.946: D/yujian<<(6731): DisplayMetrics {density=1.0, width=320, height=480, scaledDensity=1.0, xdpi=159.37254, ydpi=160.42105}