zoukankan      html  css  js  c++  java
  • Android中像素相关

      今天又开始写Android了,很久没写android了,一些小知识点都忘记了,只能通过书本或者internet查找了。为了以后查找方便,就把这些小知识点记录下来。

      一、Android中像素单位dp、px、pt、sp的比较

      1.dp(dip): device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。

      2.px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。

      3.pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用。

      4.sp: scaled pixels(放大像素). 主要用于字体显示best for textsize。

      因此,google推荐空间等相对距离一般使用dip,字体统一使用sp 

      、px和dp之间的相互转换

      public int Dp2Px(Context context, float dp);dp—> px
      { 
          final float scale = context.getResources().getDisplayMetrics().density; 
          return (int) (dp * scale + 0.5f); 
      }

     

      public int Px2Dp(Context context, float px) ;px—>dp
      { 
          final float scale = context.getResources().getDisplayMetrics().density; 
          return (int) (px / scale + 0.5f); 
      } 

      三、获取分辨率

      分辨率是屏幕图像的精密度,是指显示器所能显示的像素的多少。由于屏幕上的点、线和面都是由像素组成的,显示器可显示的像素越多,画面就越精细,同样的屏幕区域内能显示的信息也越多,所以分辨率是个非常重要的性能指标之一。可以把整个图像想象成是一个大型的棋盘,而分辨率的表示方式就是所有经线和纬线交叉点的数目。 

      分辨率决定了位图图像细节的精细程度。

     

      通常情况下,图像的分辨率越高,所包含的像素就越多,图像就越清晰,印刷的质量也就越好。同时,它也会增加文件占用的存储空间
     
      下面是在Android开发中获取屏幕分辨率:

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

            int width = metric.widthPixels;  // 屏幕宽度(像素) 

            int height = metric.heightPixels;  // 屏幕高度(像素) 
            float density = metric.density;  // 屏幕密度(0.75 / 1.0 / 1.5) 
            intdensityDpi = metric.densityDpi;  // 屏幕密度DPI(120 / 160 / 240)

       以上供参考,如果 UI 能够以 sp 为单位提供设计是最好的,如果设计中没有 sp的概念,则开发人员也可以通过适当的换算取近似值。

      

     

  • 相关阅读:
    正则表达式() [] {}区别
    JAVA int自动装箱
    Intellij Idea debug 远程部署的的tomcat项目
    TensorFlow MNIST CNN 代码
    线性代数-01-向量究竟是什么
    线性代数-线性代数的本质
    TensorFlow MNIST 入门 代码
    TensorFlow 学习可视化 TensorBoard 简易教程
    TensorFlow 函数
    TensorFlow Demo2
  • 原文地址:https://www.cnblogs.com/xuepeng0521/p/3673318.html
Copyright © 2011-2022 走看看