如何使 ImageView 保持固定大小,而不考虑位图的大小

2022-09-01 05:19:30

因此,我正在从Web服务加载图像,但是图像的大小有时比其他图像更小或更大,当我将它们放在Android中的ListView中时,可视化看起来很愚蠢。我想修复ImageView的大小,以便它仅在图像大于预设量时显示图像的一部分。我已经尝试了我能想到的设置setMaxWidth/setMaxHeight,将比例类型设置为cliutCrop,使用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"/>

但是,没有任何效果。


答案 1

只需删除 和 属性,然后相应地输入您的单位即可。但不要使用单位 - 改用,因为这些是独立于设备的。maxHeightmaxWidthlayout_widthlayout_heightpxdp


答案 2

这将以指定的高度和宽度适合图像,而与图像大小无关。

<ImageView
        android:id="@+id/image5"
        android:layout_width="300dp"
        android:layout_height="200dp"
        android:src="@drawable/image_1"
        android:scaleType="fitXY"/>

推荐