2010-05-30 5 views
7

ImageView에서 소스 이미지를 원본 크기로 표시 할 수 없습니다. 이미지 뷰는 다음과 같습니다안드로이드 : ImageView가 소스 이미지를 확대합니다.

<ImageView 
android:id="@+id/Logo" 
android:src="@drawable/logo" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
> 
</ImageView> 

소스 이미지가 140 개 픽셀 폭, 아직 너비의 절반을 사용하는 480 개 픽셀 폭 넥서스 원의 화면에. 너비와 높이에 대해 px 또는 dp의 절대 값을 사용하면 아무 것도 변경되지 않습니다. 이미지는 또한 업 스케일링에서 매우 안티 앨리어싱 된 것처럼 보입니다. 왜 이런 일이 일어나고 어떻게 막을 수 있습니까?

답변

7

큰 화면을 지원한다고 말하지 않았기 때문에 Android가 이미지를 확대하고있는 것 같습니다. 매니페스트에 suitable <supports-screens> element을 추가하고 도움이되는지 확인하십시오.

+0

방금 ​​귀하의 제안을 시도했으며 확실히 그와 관련이 있습니다. 고마워요! 이미지의 크기를 layout_width 및 layout_height의 절대 픽셀 값으로 사용하면 이미지의 크기가 "올바른 크기"가됩니다. wrap_content를 사용하면 이미지가 이전과 같이 여전히 크기 때문에 이미지의 크기를 "dp"로 차원을 사용할 때와 같은 크기로 볼 수 있습니다. 나는 이것이 wrap_content의 작동 방식 일 뿐이라고 생각합니다. 이 경우 Nexus와 같은 고밀도 화면이있는 기기에서 이미지가 너무 크게 표시됩니다. –

+0

여전히 이상한 점은 layout_width 및 layout_height에 대해 wrap_content를 사용하지만 효과가없는 maxWidth 및 maxHeight에 절대 픽셀 값을 사용하는 경우입니다. 어쨌든 픽셀 크기의 사용은 권장되지 않으므로 이미지를 업 스케일하지 못하게하는 다른 방법이 있는지 궁금합니다. –

+1

어쨌든 중형 화면 용 및 고밀도 화면 용의 두 가지 버전의 이미지가 필요합니다. 이미지를'res/drawable-hdpi /'에 넣어보고 도움이되는지보십시오. – CommonsWare

관련 문제