2011-08-18 37 views
115

thể trùng lặp:
Difference of px, dp, dip and sp in androidTại sao chúng ta nên sử dụng sp cho kích thước phông chữ trong Android?

Tôi mới vào Android và tôi đã cố gắng ra this tutorial

Trong hướng dẫn này, họ đã sử dụng đơn vị "sp" cho textSize thuộc tính và "dp" cho các thuộc tính khác.

Hãy cho tôi biết sp khác với dp như thế nào?

+0

[Đây là lý do tại sao chúng tôi nên sử dụng SP cho phông chữ với ví dụ.] (Http://www.singhajit.com/tutorial-1-android-ui-desgin-and-styling/) –

Trả lời

219

dp có chuyển đổi tỷ lệ không đổi thành px: dp = px * ratio. Trường hợp ratio sẽ không bao giờ thay đổi trên bất kỳ thiết bị cụ thể nào.

Trong khi sp (s để thu nhỏ) có tỷ lệ co giãn: sp = px * ratio * scale. Trường hợp ratio không bao giờ thay đổi, nhưng scale là người dùng có thể định cấu hình. Ví dụ: scale này có thể được sử dụng bởi những người cần kích thước phông chữ lớn hơn, để sử dụng thiết bị thoải mái hơn.

+21

Điều này cảm thấy sai, tại sao bố trí của chúng tôi dựa trên 'dp' nhưng tất cả văn bản được hiển thị bên trong bố cục đó được chia tỷ lệ thành cài đặt' sp' của người dùng? Nếu văn bản trở nên lớn hơn, không nên chế độ xem có chứa cũng tăng lên để phù hợp với chúng? – chakrit

+12

Vì vậy, để đơn giản hóa: 'sp = dp * scale' –

+2

@chakrit Bạn có thể sử dụng' sp' để tạo bố cục của mình. – Hassaan

6

Sp được chia tỷ lệ độc lập với kích thước phông chữ bình thường của thiết bị. http://developer.android.com/guide/practices/screens_support.html

Tương tự, bạn nên chọn sp (pixel độc lập theo tỷ lệ) để xác định kích thước văn bản. Các yếu tố quy mô sp phụ thuộc vào một thiết lập người dùng và hệ thống quy mô kích thước giống như nó cho dp.

Các vấn đề liên quan