2013-06-04 4 views
3

이 DP 측정 값은 매우 혼란 스럽습니다. 언제 ImageView를 사용할 때 wrap_content를 사용해야하고 언제 높이를 설정해야 하는지를 배우려고합니다.랩 콘텐츠 대 설정 dp

내 현재 문제는 3 개의 이미지에 랩핑 컨텐츠를 사용하고 있습니다. (예, 각 스크린 크기에 대해 다른 리소스를 갖습니다 : mdpi, hdpi, xhdpi) 일부 디바이스 (두 hpi 모두)는 너비 픽셀이 다르기 때문에 크기 (하나는 480px, 다른 하나는 590px), 480px 크기에서는 이미지 중 하나가 크기가 wrap_content의 계산 된 원인보다 작아 보입니다.

내 디자이너가 hdpi 크기의 모든 이미지를 다시 만들 수는 있지만 wrap_content를 사용할시기와 DP 크기를 직접 설정할 때를 알고 싶습니다.

+1

질문에 답변하는 방법을 모르겠지만 사실 내 것과 같습니다. 다른 크기의이 문제를 피하기 위해 여러분이 말한 것처럼 다른 리소스를 사용하고 mdpi 리소스와 동일한 너비와 높이를 설정합니다. 이렇게하면 여러 화면 크기에서 제대로 작동합니다. –

+0

그래서 mdpi를 기반으로 디자인 한 다음 각 이미지 크기를 1.75와 2.00에 곱하는 것이 가장 좋을까요? 그렇다면, 그건 ... 320 x 480 캔버스 크기의 포토샵? –

답변

2

DP는 화면 픽셀 밀도가 다르면 정상화되는 측정 단위 일 뿐이므로 50dp과 같은 값은 앱을 실행하는 장치와 관계없이 항상 물리적 인 크기입니다.

실제로 레이아웃을 디자인하는 한 너비와 높이에 하드 번호를 설정하는 대신 거의 항상 wrap_content 또는 match_parent을 사용해야합니다. 비례 크기를 적용하거나 RelativeLayout의 자식에 대한 다양한 레이아웃 앵커를 사용할 때 LinearLayout의 자식에 대해 layout_weight을 사용하면 예외가 발생합니다.

+0

URL에서 이미지를 가져 오는 경우는 어떨까요, DP에서는 폭과 높이를 설정해야합니다. 맞습니까? –

+0

수 있습니다. 나는 그런 해결책을 스스로 좋아하지 않는 경향이 있지만 그것은 당신의 필요에 달려있다. 이미지의 크기가 조절되는 것이 염려스러운 경우 ImageView에서 배율 유형을 설정하거나 ImageView를 확장하여 이러한 문제를 직접 처리 할 수 ​​있습니다. – Karakuri

+0

나의 평소 관심사는 스케일 유형이 아니라 이미지의 실제 비율이므로 mdpi에서 전체 화면을 덮지 않으며 xhdpi에서 너무 작습니다. 그들은 URL에서 가져 오므로 각 화면 밀도에 대해 1 개의 이미지를 가질 수는 없습니다. –