2014-04-07 4 views
1

이미지가 rectangle.png입니다. 크기는 75x197입니다. res/drawable 및 res/drawable-xhdpi에 있습니다. 그것은 (넥서스 (10), xhdpi 장치에서 스크린)과 같이 그리드 레이아웃에서 많은 시간을 표시 :res/drawable과 res/drawable-xhdpi의 이미지가 서로 다른 크기로 표시됩니다.

Screenshot from Nexus 10 - xhdpi

I 따라서 행의 배치를 야기/그리기-xhdpi 고해상도의 이미지 파일을 삭제하면 동일한 이미지를 사용하지만, 이것에 고해상도/당김에, 화면 변경 :

Screenshot from Nexus 10 - res/drawable - something wrong

왜 이런 일이?

답변

4

왜 이런 일이 발생합니까?

res/drawable/은 비트 맵의 ​​경우 res/drawable-mdpi/과 같습니다. Android는 사용자의 이미지가 -mdpi 화면 (160dpi)에서 사용하도록 설계되었다고 생각합니다. -xhdpi 기기는 Nexus 10과 마찬가지로 320dpi입니다. 따라서 Android는 두 크기 모두에서 픽셀을 두 배로 늘리므로 -xhdpi 장치에 표시된 이미지는 동일한 이미지와 동일한 크기가되고 -mdpi 장치의에있는 이됩니다.

+1

감사합니다, 몰랐'고해상도/drawable' =='의 고해상도/당김-mdpi' 그 –

2

안드로이드가 xhdpi를 사용할 때 xddpi에서 mdpi의 이미지 크기를 사용하므로 각 화면에서 올바른 이미지 크기를 사용하고 이미지를 디자인하기 위해 xhdpi를 크기 조정해야하므로 문제가 발생합니다. 다른 해상도에 대한 참조로 mdpi 화면에 맞는 에뮬레이터를 사용하여 mdpi 화면이 ~ 160dpi이고 xhdpi가 ~ 320dpi 인 경우에 에뮬레이터를 사용하여 원하는 배율에 따라 배율을 조정하십시오.

xhdpi는 LDPI가 hdpi에 MDPI이 치수의 1.5 배이다 MDPI 치수의 0.75 배이다 MDPI의 dimensinons이다

레이아웃이 설계 정보는 개발자 가이드에 따라 당신을 도울 것입니다 :

초대형 스크린은 적어도 960dp X 720dp 이상 대형 스크린 적어도 640dp X 480dp 정상 화면입니다입니다입니다 적어도 470dp X 320dp 작은 화면 최소 426dp X 320dp

있습니다

이 공식은 dpi의 해상도 픽셀 또는 DP 변환하는 데 도움이 : 픽셀 = DP * 수 (dpi/160

관련 문제