안드로이드-인터페이스 레이아웃 단위 dp,sp,px의 비교

2417 단어
모든 안드로이드 초보자들이 이 문제에 부딪힐 것이라고 믿습니다. 이 게시물이 더 이상 얽히지 않기를 바랍니다.
px:
즉 픽셀, 1px는 화면의 물리적 픽셀을 대표한다.
px단위는 사용을 권장하지 않습니다. 같은 100px의 그림은 서로 다른 휴대전화에 표시되는 실제 크기가 다를 수 있기 때문입니다. 아래 그림과 같습니다.
dp:
이것은 가장 자주 사용하지만 가장 이해하기 어려운 사이즈 단위다.그것은'픽셀 밀도'와 밀접한 관계가 있기 때문에 우선 픽셀 밀도가 무엇인지 설명해 봅시다.만약에 핸드폰이 하나 있는데 화면의 물리적 사이즈가 1.5인치 x 2인치이고 화면 해상도가 240x320이라고 가정하면 우리는 이 핸드폰의 화면에 인치당 포함된 픽셀의 수량은 240/1.5=160dpi(가로) 또는 320/2=160dpi(세로)이고 160dpi는 이 핸드폰의 픽셀밀도이다. 픽셀밀도의 단위인 dpi는 DotsPerInch의 줄임말이다.인치당 픽셀 수입니다.가로와 세로의 이 값은 모두 같다. 대부분의 휴대전화 화면은 정사각형의 화소점을 사용하기 때문이다.
서로 다른 휴대전화/태블릿PC는 서로 다른 픽셀 밀도를 가지고 있을 수 있다. 예를 들어 같은 4인치 휴대전화는 480x320 해상도도 800x480 해상도도 있는데 전자의 픽셀 밀도는 비교적 낮다.안드로이드 시스템은 네 가지 픽셀 밀도를 정의했다. 저(120dpi), 중(160dpi), 고(240dpi)와 초고(320dpi)이다. 이에 대응하는 dp에서 px까지의 계수는 각각 0.75, 1, 1.5와 2이고 이 계수에 dp 길이를 곱하면 픽셀 수이다.예를 들어 인터페이스에 길이가'100dp'인 그림이 있는데 240dpi의 휴대전화에 실제적으로 80x1로 나타난다.5=120px, 320dpi의 휴대전화에서 실제 80x2=160px로 나타난다.만약 네가 이 두 개의 휴대전화를 함께 놓고 비교한다면 이 그림의 물리적 사이즈가 '차이가 많지 않다' 는 것을 발견할 수 있을 것이다. 이것이 바로 dp를 단위로 사용하는 효과이다. 아래 그림을 보십시오.
dip:
dp와 완전히 같습니다. 다만 이름이 다를 뿐입니다.초기의 안드로이드 버전에서는 dip을 많이 사용했는데 sp와 통일하기 위해 dp라는 이름을 추천했다.
sp:
확대/축소와 무관한 추상 픽셀(Scale-independent Pixel)sp와 dp는 유사하지만 유일한 차이점은 안드로이드 시스템은 사용자가 문자 크기(소, 정상, 대, 초대형 등)를 사용자 정의할 수 있다는 것이다. 문자 크기가'정상'일 때 1sp=1dp=0.00625인치이고 문자 크기가'큰'또는'초대'일 때 1sp>1dp=0.00625인치이다.윈도우즈에서 글꼴 크기를 조정한 후의 효과 - 창 크기는 변하지 않고 텍스트 크기만 바뀐다.
덜 사용되는 치수 단위는 다음과 같습니다.
mm:
즉 밀리미터;
in:
즉 인치, 1인치 = 2.54cm(약).
pt:
1pt=1/72인치 = 0.035cm;
가장 좋은 실천은 문자의 사이즈는 일률적으로 sp 단위를 사용하고 비문자의 사이즈는 일률적으로 dp 단위를 사용한다.예를 들어 textSize="16sp",layoutwidth="60dp";간혹 px 단위를 사용해야 합니다. 예를 들어 화면에 가는 구분선을 그릴 때:
<View layout_width="match_parent" layout_height="1px"/>

좋은 웹페이지 즐겨찾기