2014-09-13 3 views
0

다음 문제로 잠시 동안 고민하고 있습니다. 저는 하나의 ImageView 만 사용하여 간단하게 보겠습니다. 이 imageview에는 다른 크기의 이미지가 포함될 수 있습니다. 이미지의 URL은 이전 활동에서 Bundle에 의해 추가됩니다. 내가 성취하고자하는 것은 어떤 종류의 이미지라도 초과 할 수없는 이미지의 최대 높이를 설정하고 가로 세로 비율을 유지하는 것입니다. 문제 중 하나는 scaleType을 사용해야하며, setMaxHeight 매개 변수를 추가하려고했지만 그다지 효과가없는 것 같습니다. 이미지의 높이가 최대 높이에 미치지 못하면 오히려 더 작아야합니다. 내 경우 너비는 항상 fill_parent이고 문제는 높이와 관련이 있습니다. 어떻게 이걸 얻을 수 있니?다른 크기의 이미지에 대한 최대 높이 설정

처음에는 이미지 뷰를 FrameLayout에 넣었습니다 (나중에 이미지 뷰에 물건을 넣어야합니다).

<FrameLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" > 

      <ImageView 
       android:id="@+id/imageview1" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:scaleType="centerCrop" 
       android:adjustViewBounds="true" 
       android:src="@drawable/my_stub" /> 


     </FrameLayout> 
+0

이 문제는'setMaxHeight 무엇이다 '? –

+0

이미지의 높이가 maxHeight보다 큰 경우 작동합니다. 그러나 이미지가 예를 들어 2 : 1 가로 세로 비율 (그리고 높이가 여전히 maxHeight보다 큽니다)이면 전체 너비가 나타날 때까지 이미지가 축소됩니다. 너비가 높이보다 큰 경우 maxHeight에 도달 할 때까지 이미지를 확대/축소 할 필요가 있습니다. –

답변

0

당신은 작은 이미지

을 처리하기 위해 프로그래밍 방식으로 최소 폭을 설정해야 할 수 있습니다

android:layout_width="wrap_content"

adjustViewBounds="false" 
setScaleType="center" 
layout_height="whatever height you want it to be" 

시도

모든 다른 좋은 것 같다

+0

은 여전히 ​​확대되지 않지만 전체 너비로 전체 그림을 보여줍니다. maxHeight –

+0

너비에 match_parent를 설정하면보기가 최대 너비를 사용하고 확대/축소를 허용하려면 너비를 설정할 수 없으므로보기 (이 경우 이미지)는 부모보다 넓을 수 없습니다. wrap_content이면 전체 높이에 도달 할 때까지 확대하고 adjustViewbounds 및 scale : center – Jayo2k

+0

을 선택 취소합니다. 그러나 높이가 maxHeight보다 큰 더 큰 세로 이미지의 경우 효과가없고 전체 높이로 나타납니다. –

관련 문제