为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

沧海一幻觉 2019-05-22 15:48:37
“px”,“dip”,“dp”和“sp”之间有什么区别?Android计量单位有什么区别?PX蘸DPSP
查看完整描述

5 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

来自Android开发者文档

  1. px 
    像素 - 对应于屏幕上的实际像素。


  2.  -基于屏幕的物理尺寸。
    1英寸= 2.54厘米

  3. mm 
    毫米 - 基于屏幕的物理尺寸。

  4. PT 
     -基于屏幕的物理尺寸为1/72英寸。

  5. dpdip 
    Density -inubpendent Pixels - 一个基于屏幕物理密度的抽象单位。这些单位相对于160 dpi的屏幕,因此一个dp是160 dpi屏幕上的一个像素。dp与像素的比率将随着屏幕密度而变化,但不一定成正比。注意:编译器接受“dip”和“dp”,但“dp”与“sp”更一致。

  6. 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中找到


查看完整回答
反对 回复 2019-05-22
?
拉丁的传说

TA贡献1789条经验 获得超8个赞

我将详细说明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


查看完整回答
反对 回复 2019-05-22
  • 5 回答
  • 0 关注
  • 881 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信