Ion将imageView高度设置为错误值

时间:2014-10-03 23:10:08

标签: android ion

我不知道为什么会发生这种情况:使用Ion库加载图像后,我的图像在图像下方和上方显示两个白条。我不想拥有它。

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>

有什么想法吗?

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

我认为它可能是任何价值&#34; gray1&#34;是的,但它看起来很白,因为它比背景中的图像轻。删除xml中的background属性,它将不可见。

同样,如果不在ImageView上设置scaleType,它将默认为center。这将尝试调整图像大小,使其适合ImageView的中心而不进行裁剪。 ImageView绑定到它的容器宽度。提供的图像比这宽得多,因此它会缩小图像以适应。这意味着顶部和底部也会收缩,图像变得小于容器的高度。如果您希望图片靠近顶部,可以尝试将scaleType设置为fitStart