2011-01-16 5 views
6

전체적으로 안드로이드의 딥으로 혼란스러워합니다.기기 독립적 픽셀의 기본 정보

dp 값의 기준이 160임을 이해합니다. 따라서 너비가 80dp가 화면의 너비가 50 % 인 뷰와 같지 않아야합니까? Nexus One에서 dp의 너비는 300dp 정도입니다.

무엇이 여기에 있습니까? 사전

답변

5

160 도트 인치 당. 따라서 80dp는 대략 1/2 인치입니다.

+0

OP는 dip이 아닌 dpi를 묻습니다. – Ying

+0

관련성이 있습니다. 그는 160을 기본 가치로 언급했는데 그 값은 DPI의 밀도입니다. – kcoppock

+0

네 말이 맞아. 나는이 답변을주의 깊게 읽지 않았다. – Ying

16

"DP"== "밀도 독립적 픽셀"(I는 "DP"요즘 사용하는 것을 선호하지만 이것은, 그 이전에 "딥"라는 이유이기도합니다.) 다른 단위와 같은 그것의

생각해 - "in"(인치), "mm"(밀리미터) 등. 화면의 밀도에 따라 크기가 조정되는 크기를 제공 할 수 있습니다.

mdpi를 기본 밀도로 정의하므로 mdpi 화면의 "10dp"는 정확히 10 픽셀이됩니다. hdpi는 1.5 * mdpi이므로 hdpi 화면에서는 15 픽셀이됩니다.

다양한 밀도의 상수는 DPI (mdpi가 160 등)와 유사하지만 밀도는 이 아니고 정확히 DPI임을 유의하십시오. 이것은 화면 dpi를 조정하는 추상 스케일링 요소이지만 정확하게 반영하지는 않습니다. (정확한 크기는 "in", "mm"등을 사용하지만 99.9 %는 "dp"로 고정하십시오.) 많은 Android를 처리 할 필요가 없으므로 모든 사람의 생활을 크게 단순화합니다. 장치는 약간 다른 화면 DPI가 있기 때문에 UI의 공간이 약간 다릅니다. 또한 장치 제조업체는 장치의 밀도를 선택하여 원하는 UI를 얻을 수 있습니다. 예를 들어 Samsung Tab은 실제 DPI보다 훨씬 큰 밀도를 사용하므로 전체 UI가 더 커집니다.

+4

"이것은 모든 사람의 삶을 크게 단순화합니다"- 그렇지 않은 경우는 예외입니다. 그것은 모든 사람들에게 삶을 더 어렵게 만듭니다. 왜냐하면 딥 (dips)이 작동하지 않기 때문에 (그들은 쓸모가 없어 졌기 때문에 많은 하드웨어에서 매우 다릅니다). 구글은 여전히 ​​모든 사용자 인터페이스에서 dip을 사용한다고 말하고 있지만, 모든 핸드셋의 30 %에서 alighments가 완전히 잘못 될 수 있기 때문에 불가능하다. (나는 해결책을 찾고 여기에 와서 아무것도 찾지 못했다.) – Adam

0

밀도 독립적 픽셀 (짧은 : dp)은 응용 프로그램의 런타임에 결정되는 가상 픽셀 단위입니다.

포멀 라 : 1 dp = 1 160dpi 화면의 픽셀. 그래서 160dpi는 시스템의 기본 밀도입니다.

dp 단위의 화면 픽셀로의 변환은 매우 간단합니다. 실제 장치의 화소 (PX)은 단순화를 위해 DP (1) * (장치 dpi의()/160 (기준)) 를 = PX = DP *를 dpi (/ 160)

예 : 경우 240dpi 장치가 앱을 시작한 다음 1dp는 실제 장치 픽셀 1,5 개와 같습니다.

결론 : Dp는 더 크거나 작은 장치에 대한 모든 크기 조정을 자동으로 처리합니다. 픽셀을 하드 코드하는 시간은 끝났습니다. DP는 다양한 화면 밀도에서 적절한 배율을 보장합니다.