a

Câu hỏi Sự khác nhau giữa "px", "dip", "dp" và "sp" là gì?


Sự khác nhau giữa đơn vị đo lường Android là gì?

  • px
  • nhúng
  • dp
  • sp

5159
2018-01-08 03:23


gốc


điều này sử dụng sự khác biệt đầy đủ giữa px, dip, dp và sp trong android [ developer.android.com/guide/topics/resources/… - NagarjunaReddy
Công cụ chuyển đổi tiện lợi này thể hiện tốt nhất, theo ý kiến ​​của tôi. Nó cũng cực kỳ hữu ích cho việc xuất các sprites từ Photoshop hoặc thiết kế bố trí của bạn cho một kích thước vật lý. - Paul Lammertsma
mô tả mới trên Google Design Đơn vị đo lường - Arnav M.
Sự khác biệt giữa DP, SP và Pixels với các ví dụ. - Ajit Singh
Cách chuyển đổi theo chương trình giữa px, dpvà sp - Suragch


Các câu trả lời:


Từ Tài liệu dành cho nhà phát triển Android:

  1. px
    Điểm ảnh - tương ứng với các pixel thực trên màn hình.

  2. trong
    Inch - dựa trên kích thước vật lý của màn hình.
      1 inch = 2,54 cm

  3. mm
    Mm - dựa trên kích thước vật lý của màn hình.

  4. pt
    Điểm - 1/72 inch dựa trên kích thước vật lý của màn hình.

  5. dp hoặc là nhúng
    Tỉ trọngpixel độc lập - một đơn vị trừu tượng dựa trên mật độ vật lý của màn hình. Các đơn vị này tương đối so với 160       màn hình dpi, do đó, một dp là một pixel trên màn hình 160 dpi. Tỷ lệ của       dp-to-pixel sẽ thay đổi với mật độ màn hình, nhưng không nhất thiết       tỷ lệ trực tiếp. Lưu ý: Trình biên dịch chấp nhận cả "nhúng" và       "dp", mặc dù "dp" phù hợp hơn với "sp".

  6. sp
    Tỉ lệpixel độc lập - điều này giống như đơn vị dp, nhưng nó cũng được thu nhỏ theo sở thích kích thước phông chữ của người dùng. Đó là khuyến cáo bạn       sử dụng đơn vị này khi chỉ định kích thước phông chữ, vì vậy chúng sẽ được điều chỉnh       cho cả mật độ màn hình và tùy chọn của người dùng.

Từ Hiểu về sự độc lập về mật độ trong 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      |               |             |                    | 
+---------+-------------+---------------+-------------+--------------------+

Thông tin thêm cũng có thể được tìm thấy trong Tài liệu thiết kế của Google.

Để tính kích thước trên thiết bị thực điều này ứng dụng có thể được sử dụng.


5196
2018-02-25 12:56



mặc dù họ phải là cùng một điều tôi có xu hướng có rất nhiều vấn đề với dp trong khi tất cả mọi thứ hoạt động tốt với dip - DallaRosa
Một lưu ý về db ​​/ sp không hoàn toàn rõ ràng: Tỷ lệ xảy ra cho những phụ thuộc này không phụ thuộc vào mật độ thực của thiết bị (dpi) mà trên đó "nhóm" mật độ rơi vào: các nhóm sẵn có là: 120,160,240,320. Điều này có thể gây ra một số sự cố khi xử lý các màn hình có sự khác biệt đáng kể nhưng bị khóa giống nhau. - Fraggle
Lưu ý rằng tài liệu không còn đề cập đến "nhúng" nữa, chỉ "dp", mặc dù trình biên dịch vẫn có vẻ chấp nhận "nhúng". - Adam Rosenfield
@android_developer (5 nhận xét ở trên) dp làm không phải có chiều dài vật lý giống hệt nhau. (Mặc dù nó ở gần.) Xem nhận xét của @ Fraggle về việc vẫy. Điều này có nghĩa là 48dp sẽ là khoảng 8mm (0,3 inch), nhưng nó có thể thay đổi lên đến 11mm. - intrepidis
Lý do khiến cho các nhà phát triển có thể thử nghiệm ứng dụng của họ trên một vài thiết bị có mật độ khác nhau và tự tin rằng bố cục sẽ giống nhau trên vô số các thiết bị. Vì vậy, ngay cả khi kích thước vật lý của các nút vv thay đổi một chút, giao diện tổng thể của một hoạt động sẽ giống nhau. - intrepidis


Khá nhiều thứ về điều này và làm thế nào để đạt được sự hỗ trợ tốt nhất cho nhiều màn hình với các kích thước và mật độ khác nhau được viết rất rõ ở đây:

Kích thước màn hình
  Kích thước vật lý thực tế, được đo bằng đường chéo của màn hình.   Để đơn giản, Android nhóm tất cả kích thước màn hình thực tế thành bốn   kích thước tổng quát: nhỏ, bình thường, lớn và cực lớn.

Mật độ màn hình
    Số lượng pixel trong một khu vực vật lý của   màn; thường được gọi là dpi (dấu chấm trên mỗi inch). Ví dụ, một   màn hình mật độ "thấp" có ít pixel hơn trong một khu vực vật lý nhất định,   so với màn hình mật độ "bình thường" hoặc "cao". Để đơn giản,   Android nhóm tất cả mật độ màn hình thực tế thành sáu tổng quát   mật độ: thấp, trung bình, cao, cực cao, cực cao và   thêm cực cao.

Sự định hướng
Hướng của màn hình từ điểm của người dùng   lượt xem. Đây là cảnh quan hoặc chân dung, có nghĩa là màn hình   tỷ lệ khung hình là rộng hoặc cao, tương ứng. Hãy nhận biết rằng không   chỉ làm các thiết bị khác nhau hoạt động theo các hướng khác nhau theo   mặc định, nhưng định hướng có thể thay đổi khi chạy khi người dùng   xoay thiết bị.

Độ phân giải
 Tổng số pixel vật lý trên   một màn hình. Khi thêm hỗ trợ cho nhiều màn hình, ứng dụng sẽ thực hiện   không làm việc trực tiếp với độ phân giải; ứng dụng nên được quan tâm   chỉ với kích thước màn hình và mật độ, theo quy định của tổng quát   kích thước và nhóm mật độ.

Pixel độc lập với mật độ (dp)
 Áo giác   đơn vị pixel mà bạn nên sử dụng khi xác định bố cục giao diện người dùng, để thể hiện   kích thước bố trí hoặc vị trí theo cách độc lập với mật độ.   Pixel độc lập với mật độ tương đương với một pixel vật lý trên 160   màn hình dpi, là mật độ đường cơ sở do hệ thống giả định   màn hình mật độ "trung bình". Khi chạy, hệ thống xử lý minh bạch   bất kỳ sự co giãn nào của các đơn vị dp, khi cần thiết, dựa trên mật độ thực tế   của màn hình đang sử dụng. Việc chuyển đổi đơn vị dp thành pixel màn hình là   đơn giản:    px = dp * (dpi / 160).   Ví dụ: trên màn hình 240 dpi, 1 dp   bằng 1,5 pixel vật lý. Bạn nên luôn sử dụng các đơn vị dp khi   xác định giao diện người dùng của ứng dụng, để đảm bảo hiển thị giao diện người dùng của bạn đúng cách   màn hình với mật độ khác nhau.

Nếu bạn nghiêm túc về việc phát triển một ứng dụng Android cho nhiều loại thiết bị, bạn nên đọc tài liệu phát triển hỗ trợ màn hình ít nhất một lần. Ngoài ra, nó luôn luôn là một điều tốt để biết số lượng thực tế của các thiết bị hoạt động có một cấu hình màn hình cụ thể.


606
2017-08-02 14:15



Vì vậy, nếu bạn sử dụng dp cho một nút và sp cho kích thước phông chữ của văn bản nút, điều gì xảy ra khi người dùng bắt đầu mở rộng quy mô? Các văn bản sẽ mở rộng, nhưng nút sẽ chứa điều này bằng cách mở rộng cũng? - Wytze
@ Wytze, không. Đối với những thứ mà việc đặt văn bản có thể là một vấn đề, tôi sẽ chỉ sử dụng nhúng để mọi thứ không tràn. - eski
@ Wytze Và tôi, trái lại, sử dụng sp cho cả văn bản và bất cứ điều gì nó chứa. Ví dụ, nếu tôi có một nút với kích thước cố định và một văn bản bên trong nó, tôi sẽ gán kích thước nút trong sp để nó tăng lên khi cần thiết. Nếu không, người dùng sẽ cảm thấy khó chịu khi anh tăng kích thước của văn bản và nó không tăng lên. Tất nhiên, bố cục phải đủ linh hoạt để cho phép. - Malcolm
@ Vâng, đó là vào bạn để quyết định những gì là quan trọng hơn: thiết kế của bạn hoặc khả năng cho người dùng có vấn đề về tầm nhìn để đọc văn bản của bạn. - Malcolm
Nếu các nhà thiết kế của bạn không rời khỏi phòng cho các yếu tố dựa trên văn bản để chia tỷ lệ theo kích thước sp, một tùy chọn là chuyển sang bất kỳ bố cục nào bạn sử dụng cho thiết bị hẹp hơn, sau đó mở rộng mọi thứ theo thống nhất (DisplayMetrics.scaledDensity / DisplayMetrics). tỉ trọng). - John Mellor


Tôi sẽ giải thích thêm về cách dp chuyển đổi thành px chính xác như thế nào:

  • Nếu chạy trên thiết bị mdpi, một 150 x 150 px hình ảnh sẽ mất 150 * 150 dp không gian màn hình.
  • Nếu chạy trên thiết bị hdpi, 150 x 150 px hình ảnh sẽ mất 100 * 100 dp không gian màn hình.
  • Nếu chạy trên thiết bị xhdpi, 150x150 px hình ảnh sẽ mất 75 * 75 dp không gian màn hình.

Cách khác xung quanh: giả sử bạn muốn thêm hình ảnh vào ứng dụng của mình và bạn cần nó để điền vào 100 * 100 dp điều khiển. Bạn sẽ cần phải tạo các hình ảnh kích thước khác nhau cho kích thước màn hình được hỗ trợ:

  • 100 * 100 px hình ảnh cho mdpi
  • 150 * 150 px hình ảnh cho hdpi
  • 200 * 200 px hình ảnh cho xhdpi

280
2017-10-30 09:43



Làm thế nào để chúng tôi tính toán các điểm ảnh cho hdpi, ldpi, mdpi vv .. Tôi nghe nói chúng tôi sử dụng công thức này ..px = dp * (dpi / 160); bạn có thể giải thích cho tôi với công thức này không? - Rakesh patanga
@ Rakeshpatanga Với mật độ 160 dpi, 1 px = 1 dp (điểm ảnh vật lý và trừu tượng dp là giống nhau). Đó là, đối với một dp duy nhất chúng tôi có (1) * (160/160) = 1, hoặc chính xác 1 px. Ở mật độ cao hơn 320 dpi, một dp đơn là (1) * (320/160) = 2 pixel và hai dp là (2) * (320/160) = 4 px. - samsara
Xếp hàng chúng trong không gian đơn để xem: | 1dp |, | ___ | ___ | 160, | _ | _ | _ | _ | 320 (ngắt dòng sau dấu phẩy). | _ | = 1 ptôixel. - samsara
"Bạn sẽ cần phải tạo các hình ảnh có kích thước khác nhau cho kích thước màn hình được hỗ trợ:" Điều đó phụ thuộc. Dành cho độ tương phản cao nhỏ hình ảnh, ví dụ: biểu tượng, nó là khôn ngoan để tạo ra ít nhất là kích thước nhỏ nhất (để chắc chắn nó sẽ được rõ ràng) cộng với một kích thước khá lớn (để các phiên bản lớn không nhìn mờ). Nhưng ngay cả đối với các biểu tượng, bạn có thể cho phép một hình ảnh mở rộng trên phạm vi kích thước, với mật độ cao hơn. Đối với ảnh, chỉ cần chỉ định khu vực hiển thị bạn muốn điền vào và dựa vào việc mở rộng thiết bị. - ToolmakerSteve


px Điểm ảnh - điểm trên mỗi thang đo tương ứng với pixel thực trên màn hình.

trong Inch - dựa trên kích thước vật lý của màn hình.

mm Mm - dựa trên kích thước vật lý của màn hình.

pt Điểm - 1/72 inch dựa trên kích thước vật lý của màn hình.

dp Tỉ trọng - Pixels độc lập - đơn vị trừu tượng dựa trên mật độ vật lý của màn hình. Các đơn vị này liên quan đến màn hình 160 dpi, vì vậy một dp là một pixel trên màn hình 160 dpi. Tỷ lệ của dp-to-pixel sẽ thay đổi với mật độ màn hình,  nhưng không nhất thiết phải tỷ lệ trực tiếp.  Lưu ý: Trình biên dịch chấp nhận cả hai dip và dp, Tuy nhiên dp phù hợp hơn với sp.

sp Pixel độc lập -Scale - điều này giống như dp đơn vị,  nhưng nó cũng được thu nhỏ theo sở thích kích thước phông chữ của người dùng. Bạn nên sử dụng đơn vị này khi chỉ định kích thước phông chữ,  do đó, chúng sẽ được điều chỉnh cho cả mật độ màn hình và tùy chọn của người dùng.

Lấy ví dụ về hai màn hình có cùng kích thước nhưng một màn hình có mật độ màn hình 160 dpi (dấu chấm trên mỗi inch, tức là pixel trên inch) và màn hình kia là 240 dpi.

                          Lower resolution   screen          Higher resolution, same size
Physical Width                      1.5 inches                        1.5 inches
Dots Per Inch (“dpi”)               160                               240
Pixels (=width*dpi)                 240                               360
Density (factor of baseline 160)    1.0                               1.5

Density-independent Pixels          240                               240
(“dip” or “dp” or “dps”)

Scale-independent pixels 
 (“sip” or “sp”)                  Depends on user font size settings    same

232
2017-07-26 21:19





Hơn nữa, bạn nên có sự hiểu biết rõ ràng về các khái niệm sau:

Kích thước màn hình:

Kích thước vật lý thực tế, được đo bằng đường chéo của màn hình. Để đơn giản, Android nhóm tất cả kích thước màn hình thực tế thành   bốn kích thước tổng quát: nhỏ, bình thường, lớn và cực lớn.

Mật độ màn hình: 

Số lượng pixel trong một khu vực vật lý của màn hình; thường được gọi là dpi (dấu chấm trên mỗi inch). Ví dụ, một   màn hình mật độ "thấp" có ít pixel hơn trong một khu vực vật lý nhất định,   so với màn hình mật độ "bình thường" hoặc "cao". Để đơn giản,   Android nhóm tất cả mật độ màn hình thực tế thành bốn tổng quát   mật độ: thấp, trung bình, cao và cao thêm.

Sự định hướng: 

Hướng của màn hình từ quan điểm của người dùng. Đây là cảnh quan hoặc chân dung, có nghĩa là   tỷ lệ màn hình của màn hình hoặc là rộng hoặc cao, tương ứng. Hãy nhận biết   không chỉ làm các thiết bị khác nhau hoạt động theo các hướng khác nhau   theo mặc định, nhưng định hướng có thể thay đổi khi chạy khi người dùng   xoay thiết bị.

Độ phân giải:

Tổng số điểm ảnh vật lý trên màn hình. Khi thêm hỗ trợ cho nhiều màn hình, các ứng dụng không hoạt động trực tiếp   với độ phân giải; ứng dụng chỉ nên được quan tâm với màn hình   kích thước và mật độ, theo quy định của kích thước và mật độ tổng quát   các nhóm.

Pixel độc lập với mật độ (dp): 

Một đơn vị pixel ảo mà bạn nên sử dụng khi xác định bố cục giao diện người dùng, để thể hiện kích thước bố cục hoặc   vị trí theo cách độc lập với mật độ. Pixel độc lập với mật độ   tương đương với một pixel vật lý trên màn hình 160 dpi, là   mật độ đường cơ sở giả định bởi hệ thống cho màn hình mật độ "trung bình".   Khi chạy, hệ thống sẽ xử lý một cách minh bạch bất kỳ tỷ lệ nào của dp   đơn vị, khi cần thiết, dựa trên mật độ thực tế của màn hình đang sử dụng.   Việc chuyển đổi đơn vị dp thành pixel màn hình rất đơn giản: px = dp * (dpi   / 160). Ví dụ, trên màn hình 240 dpi, 1 dp bằng 1,5 vật lý   pixel. Bạn nên luôn sử dụng các đơn vị dp khi xác định   giao diện người dùng của ứng dụng, để đảm bảo hiển thị đúng giao diện người dùng của bạn trên màn hình với   mật độ khác nhau.

Tài liệu tham khảo: Trang web dành cho nhà phát triển Android


183
2017-10-17 12:47





dp Là dip. Sử dụng nó cho tất cả mọi thứ (lề, đệm, vv).

Sử dụng sp chỉ dành cho {text-size}.


Để có cùng kích thước trên mật độ màn hình khác nhau, Android dịch các đơn vị này thành các pixel theo thời gian chạy, do đó không có phép toán khó để bạn thực hiện.


Xem sự khác biệt giữa px, dp và sp trên các kích thước màn hình khác nhau.

Enter image description here

Nguồn: Lập trình Android: Hướng dẫn Ranch Big Nerd


168
2018-01-10 19:13



Nhưng tôi không thể chuyển giá trị dp sang hàm setX hoặc setY, android không dịch nó ở đây. Tôi có thể làm gì? - Daniel Viaño


Tôi đã tính công thức dưới đây để thực hiện chuyển đổi dpi đến dp và sp enter image description here


118
2017-12-27 09:21



Nó phải là ppi thay vì dpi - Prateek


Các định nghĩa

px hoặc chấm là một pixel trên màn hình vật lý.

dpi là pixel trên inch trên màn hình vật lý và đại diện cho mật độ của màn hình.

Android cung cấp tên bí danh cho một số mật độ

  • ldpi (thấp) ~ 120dpi
  • mdpi (trung bình) ~ 160dpi
  • hdpi (cao) ~ 240dpi
    • hầu hết các thiết bị trong năm 2015 đều ở đây
  • xhdpi (cực cao) ~ 320dpi
    • Apple iPhone 4/5/6, Nexus 4
  • xxhdpi (cực cao) ~ 480dpi
    • Nexus 5
  • xxxhdpi (thêm cực cao) ~ 640dpi

nhúng hoặc là dp là pixel không phân tách mật độ, nghĩa là chúng tương ứng với nhiều hay ít pixel tùy thuộc vào mật độ vật lý.

  • 1dp = 1px trên mdpi

enter image description here

sp hoặc là một hớp là một pixel không phụ thuộc vào tỷ lệ. Chúng được thu nhỏ khi Văn bản lớn tùy chọn được bật trong Cài đặt > Trợ năng

  • 1sp = 1dp
  • 1sp = 1.2dp với khả năng truy cập Văn bản lớn

Những gì để sử dụng?

Sử dụng sp cho Kích thước văn bản.

Sử dụng dp cho mọi thứ khác.


107
2017-09-20 21:34





Nguồn 1

Nguồn 2

Nguồn 3: (dữ liệu từ nguồn 3 được đưa ra dưới đây)

Đây là các giá trị thứ nguyên được xác định trong XML. Thứ nguyên được chỉ định   với một số theo sau là một đơn vị đo lường. Ví dụ: 10px, 2in,   5sp. Các đơn vị đo lường sau đây được Android hỗ trợ:

dp

Pixel độc lập về mật độ - Đơn vị trừu tượng dựa trên   mật độ vật lý của màn hình. Các đơn vị này tương đối với 160 dpi   (màn hình chấm trên inch), trên đó 1dp gần bằng 1px. Khi nào   chạy trên màn hình có mật độ cao hơn, số pixel được sử dụng để vẽ   1dp được nhân rộng bởi một yếu tố thích hợp cho dpi của màn hình.   Tương tự, khi trên màn hình mật độ thấp hơn, số lượng pixel được sử dụng   cho 1dp được thu nhỏ lại. Tỷ lệ của dp-to-pixel sẽ thay đổi với   mật độ màn hình, nhưng không nhất thiết phải tỷ lệ trực tiếp. Sử dụng dp   các đơn vị (thay vì các đơn vị px) là một giải pháp đơn giản để thực hiện chế độ xem   kích thước trong bố cục của bạn thay đổi kích thước phù hợp cho màn hình khác nhau   mật độ. Nói cách khác, nó cung cấp tính nhất quán cho thế giới thực   kích thước các phần tử giao diện người dùng của bạn trên các thiết bị khác nhau.

sp

Pixel độc lập với quy mô - Điều này giống như đơn vị dp, nhưng nó cũng   được chia tỷ lệ theo tùy chọn kích thước phông chữ của người dùng. Bạn nên sử dụng   đơn vị này khi chỉ định kích thước phông chữ, vì vậy chúng sẽ được điều chỉnh cho   cả mật độ màn hình và tùy chọn của người dùng.

pt

Điểm - 1/72 inch dựa trên kích thước vật lý của màn hình.

px

Pixel - Tương ứng với pixel thực trên màn hình. Đơn vị này   đo lường không được khuyến cáo vì biểu diễn thực tế có thể thay đổi   trên các thiết bị; mỗi thiết bị có thể có số pixel khác nhau trên mỗi thiết bị   inch và có thể có tổng số pixel nhiều hơn hoặc ít hơn trên màn hình.

mm

Milimét - Dựa trên kích thước vật lý của màn hình.

trong

Inch - Dựa trên kích thước vật lý của màn hình.

Chú thích: Thứ nguyên là một tài nguyên đơn giản được tham chiếu bằng cách sử dụng giá trị được cung cấp trong thuộc tính name (không phải là tên của tệp XML). Như vậy, bạn có thể kết hợp tài nguyên tham số với các tài nguyên đơn giản khác trong một tệp XML, trong một phần tử.


104
2018-04-02 06:35



Ngoài ra: giá trị gia tăng của câu trả lời này là gì? Dường như không có bất cứ điều gì chưa được đề cập trong các câu trả lời khác. - laalto


Về cơ bản, thời gian duy nhất mà px áp dụng là một px, và đó là nếu bạn muốn chính xác một pixel trên màn hình như trong trường hợp dải phân cách:

Trên> 160 dpi, bạn có thể nhận được 2-3 pixel,

Trên> 120 dpi, nó tròn thành 0.


96
2017-07-09 05:46



getDimensionPixelOffset làm tròn, getDimensionPixelSize làm tròn lên. - Eugen Pechanec


px

Pixel - tương ứng với pixel thực trên màn hình.

dp hoặc nhúng

Pixel độc lập về mật độ - đơn vị trừu tượng dựa trên mật độ vật lý của màn hình. Các đơn vị này có liên quan đến màn hình 160 dpi, do đó, một dp là một pixel trên màn hình 160 dpi.

Sử dụng dp:

Độc lập mật độ - - Ứng dụng của bạn đạt được "độc lập mật độ" khi nó duy trì kích thước vật lý (từ quan điểm của người dùng) của các phần tử giao diện người dùng khi được hiển thị trên các màn hình có mật độ khác nhau. (Ví dụ) Hình ảnh phải có cùng kích thước (không phóng to hoặc thu nhỏ) trong các loại màn hình khác nhau.

sp

Pixel độc lập với quy mô - điều này giống như đơn vị dp, nhưng nó cũng được chia tỷ lệ theo tùy chọn kích thước phông chữ của người dùng.

http://developer.android.com/guide/topics/resources/more-resources.html#Dimension


81
2018-02-13 18:50



Tôi thấy rằng đây là câu trả lời muộn cho một câu hỏi lớn. Tôi có thể hỏi câu trả lời này cho biết không có câu trả lời nào khác đã làm không? - Mysticial
@ Mysticial Nó cung cấp cho người trả lời 790 điểm (như nhận xét này)! - Scott Biggs