2012-01-29 1 views
5

테두리가있는 이미지를 표시하고 싶습니다. 아래의 솔루션은 일부 이미지에서는 제대로 작동하지만 다른 이미지에서는 제대로 작동하지 않습니다.안드로이드에서 안드로이드에 대한 일관성없는 이미지 스케일링 : scaleType = "fitCenter"

지금까지 가장 작은 추측은 작은 이미지에는 좋지만 큰 이미지에는 적합하지 않다는 것입니다.

작은 그림으로, 솔루션은 2 픽셀 테두리로 이미지를 멋지게 표시합니다. 큰 그림으로 배경이 너무 넓습니다.

필자는 2000 * 400에서 200 * 40까지 수동으로 조정 한 이미지를 사용하여이를 테스트했습니다. 따라서 동일한 이미지 였으므로 프리 스케일링했습니다.

왜 큰 사진이 작은 크기의 사진과 같은 방식으로 확대되지 않는지 조금이라도 궁금하십니까?

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:background="#ffffff" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:orientation="vertical" 
       android:gravity="center" > 

    <ImageView 
      android:id="@+id/testimage" 
      android:background="#000000" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/testimage2" 
      android:padding="2dip" 
      android:scaleType="fitCenter" 
      /> 
</LinearLayout> 
+0

scaleType의 모든 조합을 사용해 볼 수도 있습니다. –

+0

그것이 내가 한 일이며 fitCenter로 끝났습니다. 나는 그 것이 정확한 것이라고 확신했지만 그렇지 않았습니다. – tzrnee

답변

5

scaletype을 제거하고 Imageview에 android : adjustViewBounds = "true"를 사용하십시오.

+0

네, 잘 작동합니다. 고마워! – tzrnee