所以我正在从Web服务加载图像,但是图像的大小有时比其他图像更小或更大,当我将它们放入android中的ListView时,可视化看起来很傻。我想修改我的ImageView的大小,以便它只显示图像的一部分,如果它大于预设量。我已经尝试了所有我能想到的设置setMaxWidth / setMaxHeight,将scale类型设置为centerCrop,使用ClipableDrawable包装我的BitmapDrawable,使用Drawable.setBounds()进行设置。我已尝试在XML中进行编程设置,但都没有工作。我很惊讶设置最大宽度/高度没有做任何事情。下面是我在布局文件中使用ImageView定义的XML:
<ImageView android:id="@+id/recipeImage"
android:maxHeight="64px"
android:maxWidth="64px"
android:scaleType="centerCrop"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_marginRight="6dip"/>
但是,没有任何效果。
答案 0 :(得分:45)
只需删除maxHeight和maxWidth属性,然后在layout_width和layout_height中相应地输入单位。但是不要使用'px'单位 - 改为使用'dp',因为它们与设备无关。
答案 1 :(得分:2)
无论图像大小如何,这都将使图像适合指定的高度和宽度。
<ImageView
android:id="@+id/image5"
android:layout_width="300dp"
android:layout_height="200dp"
android:src="@drawable/image_1"
android:scaleType="fitXY"/>
答案 2 :(得分:0)
Get ImageVIews as facebook posts.
Glide.with(context).load(link)
.placeholder(R.drawable.aboutlogo)
.fitCenter()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(imageView);`
<ImageView
android:id="@+id/img1"
android:src="@drawable/ic_menu_camera"
android:adjustViewBounds="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="center"/>