“px”,“dip”,“dp”和“sp”之间有什么区别?

“px”,“dip”,“dp”和“sp”之间有什么区别?

Android计量单位有什么区别?

  • PX

  • DP

  • SP


沧海一幻觉
浏览 882回答 5
5回答

吃鸡游戏

来自Android开发者文档:px 像素 - 对应于屏幕上的实际像素。在寸 -基于屏幕的物理尺寸。1英寸= 2.54厘米mm 毫米 - 基于屏幕的物理尺寸。PT 点 -基于屏幕的物理尺寸为1/72英寸。dp或dip Density -inubpendent Pixels - 一个基于屏幕物理密度的抽象单位。这些单位相对于160 dpi的屏幕,因此一个dp是160 dpi屏幕上的一个像素。dp与像素的比率将随着屏幕密度而变化,但不一定成正比。注意:编译器接受“dip”和“dp”,但“dp”与“sp”更一致。sp Scale -independent Pixels - 这类似于dp单元,但它也可以通过用户的字体大小首选项进行缩放。建议您在指定字体大小时使用此单位,以便根据屏幕密度和用户偏好调整它们。从了解Android中的密度独立性:+----------------+----------------+---------------+-------------------------------+| Density Bucket | Screen Density | Physical Size | Pixel Size                    | +----------------+----------------+---------------+-------------------------------+| ldpi           | 120 dpi        | 0.5 x 0.5 in  | 0.5 in * 120 dpi = 60x60 px   | +----------------+----------------+---------------+-------------------------------+| mdpi           | 160 dpi        | 0.5 x 0.5 in  | 0.5 in * 160 dpi = 80x80 px   | +----------------+----------------+---------------+-------------------------------+| hdpi           | 240 dpi        | 0.5 x 0.5 in  | 0.5 in * 240 dpi = 120x120 px | +----------------+----------------+---------------+-------------------------------+| xhdpi          | 320 dpi        | 0.5 x 0.5 in  | 0.5 in * 320 dpi = 160x160 px | +----------------+----------------+---------------+-------------------------------+| xxhdpi         | 480 dpi        | 0.5 x 0.5 in  | 0.5 in * 480 dpi = 240x240 px | +----------------+----------------+---------------+-------------------------------+| xxxhdpi        | 640 dpi        | 0.5 x 0.5 in  | 0.5 in * 640 dpi = 320x320 px | +----------------+----------------+---------------+-------------------------------++---------+-------------+---------------+-------------+--------------------+| Unit    | Description | Units Per     | Density     | Same Physical Size | |         |             | Physical Inch | Independent | On Every Screen    | +---------+-------------+---------------+-------------+--------------------+| px      | Pixels      | Varies        | No          | No                 | +---------+-------------+---------------+-------------+--------------------+| in      | Inches      | 1             | Yes         | Yes                | +---------+-------------+---------------+-------------+--------------------+| mm      | Millimeters | 25.4          | Yes         | Yes                | +---------+-------------+---------------+-------------+--------------------+| pt      | Points      | 72            | Yes         | Yes                | +---------+-------------+---------------+-------------+--------------------+| dp      | Density     | ~160          | Yes         | No                 | |         | Independent |               |             |                    | |         | Pixels      |               |             |                    | +---------+-------------+---------------+-------------+--------------------+| sp      | Scale       | ~160          | Yes         | No                 | |         | Independent |               |             |                    | |         | Pixels      |               |             |                    | +---------+-------------+---------------+-------------+--------------------+更多信息也可以在Google Design Documentation中找到。

拉丁的传说

我将详细说明dp如何转换为px:如果在mdpi设备上运行,150 x 150 px图像将占用150 * 150 dp屏幕空间。如果在hdpi设备上运行,150 x 150 px图像将占用100 * 100 dp屏幕空间。如果在xhdpi设备上运行,150x150 px图像将占用75 * 75 dp屏幕空间。反过来说:你想要在你的应用程序中添加一个图像,你需要它来填充一个100 * 100 dp控件。您需要为支持的屏幕尺寸创建不同尺寸的图像:100 * 100 px mdpi的图像150 * 150 px hdpi的图像200 * 200 px 图像为xhdpi
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android
Java