2013-03-15 2 views
1

저는 응용 프로그램의 모든 이미지가 원본보다 작은 것으로 나타났습니다. 예를 들어. 안드로이드는 hdpi 장치에서 hdpi 이미지를 조절합니다

는이 같은 활동에 이미지를 배치 :

http://petromi.com/get/86b23cdb63.png

을하지만 실제 크기는 28x28입니다 그것의에 : 나는 결과에서 스크린 샷을 가져다 25x25로 이미지를 측정

<ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" 
      android:src="@drawable/ic_search_dark" 
      /> 

:

http://petromi.com/get/fd68913104.png

이미지는 drawables-hdpi 폴더에 저장되었습니다. 기기는 1280x800 크기입니다. 다음과 같이 나는 그것의 디스플레이 메트릭을 기록했다 :

Log.d("Screen (%s, %s) - [%s, %s] [%s]", dm.widthPixels, dm.heightPixels, dm.xdpi, dm.ydpi, dm.densityDpi); 

을 그리고 있어요 : 그것은 안드로이드 drawable-에서 이미지 크기를 조정하는 것이 나를 위해 깜짝 선물을했다

Screen (1280, 736) - [160.0, 160.15764] [213] 
Screen (800, 1216) - [160.0, 160.15764] [213] 

(가로 및 세로 용)

hdpi 장치의 hdpi 괜찮습니까? 그렇다면, 그러한 규칙이 설명되어있는 링크를 나에게 줄 수 있습니까?

+1

흥미 롭습니다 - 숫자가 정확합니다. 28 * 213/240 = 24.85. 잘 알려진 의사는 "밀도가 다른 화면에 표시 할 때 사용자 인터페이스 요소의 물리적 크기 (사용자 관점에서 볼 때)를 유지하면 응용 프로그램이"밀도 독립성 "을 얻습니다." – 323go

답변

5

기기가 hdpi 기기로 등록하면 hdpi 폴더에서 이미지를 가져옵니다. 그런 다음 이미지를 장치의 실제 사양으로 조정합니다. 이것은 정상입니다.

hdpi에 대한 dpi는 240입니다. 가지고있는 것은 213이므로 이미지는 여전히 240 dpi 설정에 따라 조정됩니다.

어떤 종류의 크기 조정도 원하지 않으면 drawable-nodpi 폴더에 이미지를 넣어야합니다.

관련 문제