首先dip dp sp px 的区别。

dip==dp 一般 android 中设置控件的位置大小的时候用。与像素无关,与硬件无关,自适应屏幕。

sp 一般在android中用于设置字体大小(google 推荐)。

px 像素,与硬件设备有关,不推荐在android上使用。


获取手机屏幕分辨率

DisplayMetrics dm = new DisplayMereics();

getWindowManager().getDefaultDisplay().getMetrics(dm);

float width = dm.widthPixels * dm.density;

float height = dm.heightPixels * dm.density;


在这里问什么要乘以dm.density 了,是因为通过dm.widthPixels的到的结果始终是320,不是真实的屏幕分辨率,所以要乘以dm.density得到真实的分辨率。

下面在说一下dip的概念:

英文解释为device independent pixel 设备独立像素

相同的dip,在不同分辨率的屏幕上,如果分辨率与密度比例相同,那么在屏幕的相对长度是一样的。

这个地方提到了屏幕密度,屏幕密度的单位是 像素/英寸。

那么再说一下 几个概念:

我们常说的320*480 480*800这个与物理大小无关,与屏幕密度,大小有关,指的是长宽分别有多少像素。

假如说屏幕密度是240 像素/英寸 分辨率为480*800

那么长度就为800/240=3.333 英寸 宽度为480/240=2英寸

屏幕大小即为3.333*2

假如说屏幕密度是160 像素/英寸

屏幕大小与上面的一样的话,那么就可以算出屏幕的分辨率是多少

在此得到屏幕分辨率为320*533

更多相关文章

  1. Android(安卓)支持多屏幕机制
  2. Android重力感应实现方式简介
  3. Android(安卓)调整屏幕分辩率
  4. Android取消EditText自动默认获取焦点行为
  5. android:padding和android:margin的区别
  6. Android获取屏幕宽高要注意的问题
  7. android 屏幕旋转 重新调用onCreate
  8. Android应用的构成
  9. Android重力感应实现方式简介

随机推荐

  1. 控件_AnalogClock
  2. Android中RadioGroup RadioButton CheckB
  3. 【Android】Activity与服务Service绑定
  4. android手机短信总结
  5. Head Fisrt Android Development读书笔记
  6. 学习android的博客
  7. Android - 开发常用工具类Utils
  8. Android Studio中的mipmap和drawable
  9. Android 音频降噪 webrtc 去回声
  10. android LayoutInflater.inflate()的参数