Android 에서 SP 와 DP 의 차이 인 스 턴 스 상세 설명

안 드 로 이 드 프로그램 을 쓰기 시작 하 자마자 이런 상식 이 알려 졌 다.
1.길이 너비 의 수 치 는 dp 를 단위 로 dimens.xml 파일 에 넣 어야 합 니 다.
2.글꼴 크기 의 수 치 는 sp 를 단위 로 하고 dimens.xml 파일 에 도 넣 어야 합 니 다.
그리고 없어 요.그리고 없어 요.마치 암시 적 인 대사 처럼 기억 하고 쓰 면 돼 요.
우연히 어느 날,우리 가 우연히 서 체 를 dp 로 썼 을 때 도 일 을 할 수 있 고,효과 도 sp 와 같 았 다.
이때 부터 의심 하기 시 작 했 습 니 다.도대체 어떤 차이 가 있 습 니까?dp 와 sp 는 어떤 차이 가 있 습 니까?
간단 한 Sample 검증 을 해 보 겠 습 니 다.다음 과 같은 레이아웃 코드 입 니 다.

<TextView
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:textSize="18sp"
   android:text="Hello World! in SP" />

<TextView
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:textSize="18dp"
   android:text="Hello World! in DP" />

이렇게 나 왔어요.

그러나 시스템 설정 에 들 어가 서 글꼴 을 수정 할 때

다시 이전의 인터페이스 에 들 어가 서 다른 것들 을 발견 했다.

이로부터 보면
sp 를 글꼴 크기 단위 로 사용 하면 시스템 의 글꼴 크기 에 따라 달라 집 니 다.
dp 는 단위 로 서 할 수 없습니다.
sp,문서 에 대한 설명:
Scale-independent Pixels C This is like the dp unit, but it is also scaled by the user's font size preference. It is recommend you use this unit when specifying font sizes, so they will be adjusted for both the screen density and the user's preference.
대체로
sp 는 화면 밀도 에 영향 을 받 는 것 외 에 사용자 의 글꼴 크기 에 도 영향 을 받는다.
일반적으로 사용자 글꼴 크기 에 따라 sp 를 사용 하 는 것 을 권장 합 니 다.
따라서 일반적인 상황 에서 저 희 는 sp 를 글씨체 의 단위 로 사용 하 는 것 을 권장 합 니 다.특수 한 상황 을 제외 하고 시스템 글씨체 에 따라 변화 하고 싶 지 않 으 면 dp 를 사용 할 수 있 습 니 다.
읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기