无论位图大小如何,如何使 ImageView 具有固定大小
因此,我从网络服务加载图像,但图像的大小有时比其他图像更小或更大,并且当我将它们放入 android 中的 ListView 中时,可视化看起来很愚蠢。我想修复 ImageView 的大小,以便它仅在图像大于预设量时显示图像的一部分。我已经尝试了所有我能想到的设置 setMaxWidth/setMaxHeight、将缩放类型设置为 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"/>
但是,没有任何效果。
So I'm loading images from a web service, but the size of the images are sometimes smaller or bigger than other images and the visualization looks silly when I put them in a ListView in android. I'd like to fix the size of my ImageView so that it only shows a portion of the image if it's larger than a preset amount. I've tried everything I can think of setting the setMaxWidth/setMaxHeight, setting the scale type to centerCrop, using ClipableDrawable wrapping my BitmapDrawable, setting using Drawable.setBounds(). I've tried setting in the XML and programmatically, but neither worked. I'm very surprised setting max width/height didn't do anything. Below is the XML I'm using ImageView definition in my layout file:
<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"/>
But,nothing has worked.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
只需删除
maxHeight
和maxWidth
属性,然后在layout_width
和layout_height
中适当输入单位即可。但不要使用px
单位 - 使用dp
代替,因为它们与设备无关。Just delete the
maxHeight
andmaxWidth
attributes and enter your units inlayout_width
andlayout_height
appropriately. But do not use thepx
unit - usedp
instead, because these are device-independent.这将使图像适合指定的高度和宽度,无论图像大小如何。
This will fit the image in the specified height and width, irrespective of image size.