• 【Android学习】android布局中几个距离单位的区别:px、dp、sp


    一、px

    像素,我们经常说的400*800这种的就是像素,这个比较好理解。

    二、dp

    要理解dp,首先要先引入dpi这个概念,dpi全称是dots per inch,对角线每英寸的像素点的个数,所以,它的计算公式如下:

    比如height和width即为长宽的像素,平方和即为对角线的像素个数,size即我们常说的5寸手机、4寸手机中的5和4,即对角线的长度。

    显然,一样是5寸的手机,分辨率越高,dpi越高。

    dp也叫dip,是device independent pixels。设备不依赖像素的一个单位。

    定义在dpi=160的设备上的1px=1dp,所以px和dp的转换公式为:px = dp * (dpi/160)

    这样一来,如图2-1,用了像素的单位之后,在不同的设备显示出了不同的效果;在图2-2中,用了dp作为单位之后,dp相同之后,在不同的设备里面,转成px之后是相等的,所以就不会出现图2-1的情况。(图片来源:http://study.163.com/course/courseLearn.htm?courseId=207001#/learn/video?lessonId=368070&courseId=207001)

    图2-1:

     

    图2-2:

     三、sp

    全称是scaled pixels。这个主要是用于项目中的字体大小。使用sp作为单位,当用户通过手机设置修改手机字体的时候,sp为单位的字体也会跟着改变。

    总结:Android项目中的控件大小主要是使用dp作为单位,字体大小主要是用sp作为单位。

  • 相关阅读:
    “ODBC驱动程序不支持动态记录集”错误的解决
    Pro *C/C++学习笔记(一)
    探讨全局变量的析构顺序
    指针和数组关系初探
    (转)Visual C++开发工具与调试技巧整理
    对利用Session纪录datagrid模板列中CheckBox的状态的一点改进
    大学老师列传
    重读保尔的意义
    Rich Edit控件的使用
    C++程序员常用工具集
  • 原文地址:https://www.cnblogs.com/xmu-chenming/p/5790621.html
Copyright © 2020-2023  润新知