2014-10-03 45 views
0

我不知道爲什麼會發生這種情況:使用Ion庫加載圖像後,圖像在圖像下方和上方顯示兩個白色條紋。我不想那樣。Ion將imageView高度設置爲錯誤值

bildschirmfoto 2014-10-03 um 15 42 25

我的ImageView顯示在列表視圖項。我的適配器代碼如下所示:

 
if (node.getImageUrl() != null) { 
    ivImage.setVisibility(View.VISIBLE); 
    Ion.with(ivImage) 
      .placeholder(R.drawable.anne_eli_icons_set_up_anne_eli_logo_530px) 
      //.error(R.drawable.error_image) 
      //.animateLoad(android.R.anim.cycle_interpolator) 
      .animateIn(android.R.anim.fade_in) 
      .load("http://app.anne-eli.at/" + node.getImageUrl().getUrlBig()); 


} else { 
    ivImage.setVisibility(View.GONE); 
} 

我ImageView的佈局是這樣的: <LinearLayout ... <ImageView android:id="@+id/fragment_appointment_list_item_article_iv_image" android:layout_width="match_parent" android:layout_height="wrap_content" android:src="@drawable/anne_eli_icons_set_up_anne_eli_logo_530px" android:background="@color/gray1" /> </LinearLayout>

任何想法?

回答

0

我認爲它可能是「gray1」的任何值,但它看起來很白,因爲它比背景中的圖像要輕。刪除xml中的背景屬性,它將不可見。

同樣,如果沒有在ImageView上設置scaleType,它將默認爲center。這將試圖調整圖像的大小,使其適合ImageView的中心而不裁剪。 ImageView被綁定到它的容器的寬度。所提供的圖像比這個寬得多,所以它縮小了圖像的尺寸。這意味着頂部和底部也會收縮,並且圖像變得比容器的高度小。如果您希望圖像靠近頂部,則可以嘗試將scaleType設置爲fitStart

+0

我刪除了這一點,因爲我不知道,如果是離子事業(高度應該調整以適應圖像)。如果有幫助,但因爲這是我能想到的唯一的事情。 – DeeV 2014-10-04 00:17:28

+0

「圖像變得比容器的高度小」:高度是wrap_content,所以我沒有看到任何爲什麼灰色背景在頂部和底部可見的原因。我本來沒有背景,我只是把它放在那裏,使問題更加明顯。 – stoefln 2014-10-04 17:04:05

+0

wrap_content僅意味着視圖被指定爲任何它感覺應該是的大小。換句話說,ImageView被告知它的高度可以在0到它的容器的最大高度之間。僅僅因爲支持位圖較短並不意味着ImageView必須相應地調整它的高度(即使我們認爲它應該)。因此,可能ImageView是爲了預先縮放圖像的高度而編寫的。然後縮放圖像,但不調整視圖本身的高度。 – DeeV 2014-10-05 06:56:05

1

您的ImageView佈局改變這一個:

<LinearLayout ... 
<ImageView 
     android:id="@+id/fragment_appointment_list_item_article_iv_image" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:scaleType="fitXY" <!-- this line added , also your can use other value too like cropCenter ... --> 
     android:src="@drawable/anne_eli_icons_set_up_anne_eli_logo_530px" 
     android:background="@color/gray1" /> 
</LinearLayout> 
+0

我不想裁剪或適合。我只是想讓圖像縮放到100%的寬度,並根據需要採取儘可能多的高度。問題是imageViews尺寸與圖像不匹配。不是相反的。 – stoefln 2014-10-04 17:01:47