안드로이드에서 뷰를 정의하는 동안 여백, 크기 등에 dp를 사용하지만 텍스트 크기에 대해서는 sp를 사용합니다. sp는 dp와 같지만 텍스트는 동일합니다. 왜 우리는 sp를 모든 것에 사용할 수 없습니까? 나는 둘 사이의 차이점을 안다. 나는 sp가 dp의 수퍼 세트인지, 왜 dp를 사용하는지, 왜 묻는 지요? 뷰에서 모든 크기를 지정하기 위해 sp를 사용하지 않는 이유는 무엇입니까?왜 그냥 sp 대신에 dp 대신 모든 것을 사용합니까?
0
A
답변
1
DP 밀도 독립형 픽셀 - 스크린의 물리적 밀도에 기반한 추상적 단위. 이 단위는 160 dpi 화면과 관련이 있으므로 한 dp는 160 dpi 화면에서 한 픽셀입니다. dp 대 픽셀의 비율은 화면 밀도에 따라 변경되지만 반드시 비율에 따라 달라질 수는 없습니다. 참고 : "dp"는 "sp"와 더 일관성이 있지만 컴파일러에서는 "dip"과 "dp"를 모두 허용합니다.
sp- 스케일 독립 픽셀 - 이것은 DP 유닛과 유사하지만 사용자의 글꼴 크기 기본 설정에 따라 조정됩니다. 글꼴 크기를 지정할 때이 장치를 사용하는 것이 좋으므로 화면 밀도와 사용자 기본 설정 모두에 맞게 조정됩니다.
는 Density Independence in android 및 Supporting Multiple Screens
2
측정의 SP 유닛 폰트 사용 DP가 있음 동일한 방법으로 종속 화소 밀도를 참조한다. 글꼴 크기를 결정할 때 Android 기기가 고려하는 추가 계산은 사용하는 sp 값에 따라 사용자의 글꼴 크기 설정입니다. 따라서 보통 크기 글꼴을 사용하는 기기 및 에뮬레이터에서 앱을 테스트하면 시력이 손상되거나 큰 글꼴이 좋고 글꼴 설정이 큰 사용자는 본 것과 다른 내용을 볼 수 있습니다 테스트 중.
0
우리가 모든 것을 위해 sp를 사용할 수없는 이유는 설정에서 글꼴 크기를 늘리면 단추와 다른보기뿐만 아니라 텍스트의 크기를 조정하기를 원하기 때문입니다. 그래서 나머지는 dp를 사용하고 텍스트는 sp를 사용합니다.
관련 문제
- 1. Android TV의 SP 대 DP
- 2. 왜 Ruby는 respond_to를 사용합니까? responds_to 대신에?
- 3. 왜 워크 시트 대신에 scala repl을 사용합니까?
- 4. 왜 free() 대신에 boost_pool()을 사용합니까?
- 5. 왜 그냥 스키마/문서 대신 몽구스 모델을 사용합니까?
- 6. 왜 '.'대신 '$'를 사용합니까?
- 7. 왜 slim.nets.vgg는 fully_connected 레이어 대신에 conv2d를 사용합니까?
- 8. 왜 프로토콜 대신 인터페이스를 사용합니까?
- 9. 왜 마이너스 대신 System.Threading.Interlocked.Decrement를 사용합니까?
- 10. 왜 Redux 대신 쿠키를 사용합니까?
- 11. 왜 일부 사이트에서는 $ 대신 $ j로 jquery를 사용합니까?
- 12. 왜 ActiveRecord has_many는 destroy_all 대신 destroy_all을 사용합니까?
- 13. 왜 double 대신 CFTimeInterval을 사용합니까?
- 14. 왜 unordered_set 대신 set을 사용합니까?
- 15. 왜 ServletActionContext 대신 ServletRequestAware를 사용합니까?
- 16. 왜 SupportMapFragment 대신 MapFragment를 사용합니까?
- 17. DuplicateHandle, 왜 그냥 취득하는 대신 복제합니까?
- 18. 왜 SQLBRITE 및 왜 SQLite 대신 사용합니까?
- 19. 왜 애플은 extern 대신에 특별한 COREDATA_EXTERN 한정자를 사용합니까?
- 20. 왜 MySql API 대신 ActiveRecord를 사용합니까?
- 21. 왜 스택을 사용합니까? 왜 그냥 쌓아 두지 않는거야? - C/C++
- 22. 왜 new 대신 GWT.create()를 사용합니까?
- 23. 왜 jQuery 대신 CakePhp AJAX 도우미를 사용합니까?
- 24. 왜 - 대신에 _을 사용하십시오.
- 25. 안드로이드 웹 응용 프로그램의 sp 및 dp 사용 방법
- 26. 왜 변수 대신 필드 및 속성을 사용합니까?
- 27. Ajax 히스토리와 북마크를 사용할 때 "#!" 그냥 "#"대신에?
- 28. 사람들은 왜 char * & buf와 같은 것을 사용합니까?
- 29. Picasso의 resizeDimen() 메서드가 dp 또는 픽셀을 사용합니까?
- 30. 왜 boost :: ice_or 대신에 ||를 사용합니까? 그리고 enable_if에서 && 대신 boost :: ice_and?
가능한 복제 http://stackoverflow.com/questions/2025282/what-is-the-difference-between-px-dp-dip-and-sp-on-android. –
내 대답 참조 http://stackoverflow.com/a/40717863/6893465 다른 화면 크기의 차이를 참조하십시오 .. –