android中的单位需要的注意的地方还不少,尤其是适配多分辨率的机子的情况下,单位处理不合适,将会导致在其他分辨率下出现意想不到的结果,个人认为,对于处理多个长度相同的控件需要铺满屏幕的情况,可以通过获取屏幕的分辨率,然后对每个控件均等长度,可以避免在多个xml中适配长度带来的复杂计算!获取屏幕信息的代码:

public void getDisplay() {

WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);DisplayMetrics mDisplayMetrics = new DisplayMetrics();wm.getDefaultDisplay().getMetrics(mDisplayMetrics);Log.e("+++++", "height=" + wm.getDefaultDisplay().getHeight());Log.e("+++++", "width=" + wm.getDefaultDisplay().getWidth());Log.e("+++++", "densityDpi=" + mDisplayMetrics.densityDpi);Log.e("+++++", "xdpi=" + mDisplayMetrics.xdpi);Log.e("+++++", "density=" + mDisplayMetrics.density);}

720x1280分辨率的机子的运行截图:


屏幕实际分辨率为240px*400px时,densityDpi=120

屏幕实际分辨率为320px*533px,densityDpi=160
屏幕实际分辨率为480px*800px,540px*960px densityDpi=240 density=1.5

屏幕实际分辨率为720px*1280px,densityDpi=320

dip与px之间的换算关系是:pixs =dips * (densityDpi/160)

densityDpi=120:ldpi
densityDpi=160:mdpi
densityDpi=240:hdpi

densityDpi=320:xhdpi


贴一张图:



Android 常用的距离单位:



更多相关文章

  1. Android屏幕录制并转换gif
  2. 字节跳动屏幕适配方案解读
  3. drawable不同目录你会怎么选择(Android)
  4. ANDROID 如何适配屏幕
  5. Android亮屏和熄屏控制
  6. Android屏幕密度(Density)和分辨率概念详解
  7. 聊聊android界面适配
  8. Android(安卓)三种UI适配方案 dp px 修改dpi
  9. 理解Android中dpi和分辨率的关系,谈谈Android做成适应全部手机的U

随机推荐

  1. Android(安卓)之 设置EditText最大可输入
  2. Android图片选择器、多选框架
  3. Android(安卓)studio 上传Android(安卓)l
  4. Android(安卓)ApiDemos示例解析(73):Grap
  5. Android(安卓)- 资源(resource)
  6. Android(安卓)studio aar文件的打包过程
  7. Android原生音量控制实例详解
  8. ContentProvider 详解
  9. [Android]View响应屏幕触摸事件
  10. Android各框架的总结及选型