안드로이드의 dp, px 간의 관계 및 개념 분석
핸드폰 해상도: 화면에 표시할 수 있는 픽셀의 수량은 일반적으로 긴 방향에서 수량 * 넓은 방향에서 수량으로 표현한다
휴대전화의 픽셀 밀도:pixels per inch, 또는 Ppi라고도 부른다. 즉, 인치당 화면에 표시할 수 있는 픽셀 수, 픽셀 밀도가 클수록 화면의 디테일이 풍부해진다.계산: 픽셀 밀도 = {1+√[(길이 픽셀 수-1)2+(너비 픽셀 수-1)2]}/화면 크기
DPI: Dots Per Inch (인치당 인쇄되는 점 또는 선 수) 의 줄임말로 프린터의 인쇄 해상도를 표시하지만, 때로는 ppi 대신 dpi를 사용하기도 한다.
휴대전화의 밀도: 덴시티, 160dpi를 기준으로 휴대전화의 화소 밀도와 기준의 비율.픽셀 밀도가 160인 경우 Density 는 1
상용 dpi 표지 (자모)
상용 dpi 표지 (숫자)
휴대폰 집적도(density)
ldpi
120dpi
0.75
mdpi
160dpi
1.0
hdpi
240dpi
1.5
xhdpi
320dpi
2.0
px:pixels(픽셀), 1px는 화면의 물리적 픽셀점 크기(길이)입니다.
dp/dip: device-independent pixels(장치는 픽셀과 무관), density를 기반으로 한 추상적인 단위, 160dpi의 화면(핸드폰 밀도가 1이면), 1dp=1px
정의: 1dp=(dpi/160)px 즉 1px = 1/density dp 즉: 1dp = density px
pp값을 px로 바꾸는 방법은 다음과 같다. 휴대전화 밀도:density=x, dp의 값이 y로 1dp=densitypx에서 ydp=yxpx를 알 수 있기 때문에 결과는 yx이다.
px값을 dp로 바꾸는 방법은 다음과 같다. 휴대전화 밀도:density=x, px의 값은 y가 1px=1/density dp에서 ypx=y/xdp를 알 수 있기 때문에 결과는 y/x이다.
그래서 다음과 같은 방법이 생겼다.
왜 0.5f를 넣어야 돼요?자바에서 플로트를 int로 강제로 변환할 때 소수 부분을 직접 잃어버리고 0.5f를 더하면 반올림 작용을 하여 오차를 줄일 수 있기 때문이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.