2016-11-21 1 views
0

안드로이드에서 뷰를 정의하는 동안 여백, 크기 등에 dp를 사용하지만 텍스트 크기에 대해서는 sp를 사용합니다. sp는 dp와 같지만 텍스트는 동일합니다. 왜 우리는 sp를 모든 것에 사용할 수 없습니까? 나는 둘 사이의 차이점을 안다. 나는 sp가 dp의 수퍼 세트인지, 왜 dp를 사용하는지, 왜 묻는 지요? 뷰에서 모든 크기를 지정하기 위해 sp를 사용하지 않는 이유는 무엇입니까?왜 그냥 sp 대신에 dp 대신 모든 것을 사용합니까?

+5

가능한 복제 http://stackoverflow.com/questions/2025282/what-is-the-difference-between-px-dp-dip-and-sp-on-android. –

+0

내 대답 참조 http://stackoverflow.com/a/40717863/6893465 다른 화면 크기의 차이를 참조하십시오 .. –

답변

1

DP 밀도 독립형 픽셀 - 스크린의 물리적 밀도에 기반한 추상적 단위. 이 단위는 160 dpi 화면과 관련이 있으므로 한 dp는 160 dpi 화면에서 한 픽셀입니다. dp 대 픽셀의 비율은 화면 밀도에 따라 변경되지만 반드시 비율에 따라 달라질 수는 없습니다. 참고 : "dp"는 "sp"와 더 일관성이 있지만 컴파일러에서는 "dip"과 "dp"를 모두 허용합니다.

sp- 스케일 독립 픽셀 - 이것은 DP 유닛과 유사하지만 사용자의 글꼴 크기 기본 설정에 따라 조정됩니다. 글꼴 크기를 지정할 때이 장치를 사용하는 것이 좋으므로 화면 밀도와 사용자 기본 설정 모두에 맞게 조정됩니다.

Density Independence in androidSupporting Multiple Screens

2

측정의 SP 유닛 폰트 사용 DP가 있음 동일한 방법으로 종속 화소 밀도를 참조한다. 글꼴 크기를 결정할 때 Android 기기가 고려하는 추가 계산은 사용하는 sp 값에 따라 사용자의 글꼴 크기 설정입니다. 따라서 보통 크기 글꼴을 사용하는 기기 및 에뮬레이터에서 앱을 테스트하면 시력이 손상되거나 큰 글꼴이 좋고 글꼴 설정이 큰 사용자는 본 것과 다른 내용을 볼 수 있습니다 테스트 중.

0

우리가 모든 것을 위해 sp를 사용할 수없는 이유는 설정에서 글꼴 크기를 늘리면 단추와 다른보기뿐만 아니라 텍스트의 크기를 조정하기를 원하기 때문입니다. 그래서 나머지는 dp를 사용하고 텍스트는 sp를 사용합니다.

관련 문제